zoukankan      html  css  js  c++  java
  • JUnit4 学习总结

    一、JUnit介绍

    Junit是 Erich Gamma 和 Kent Beck编写的测试框架,是我们在软件工程所说的白盒测试。

    使用也很简单,只需要在Eclipse导入JAR包即可;

    下载地址:https://github.com/downloads/KentBeck/junit/junit4.10.zip

    二、JUnit4和JUnit3的比较

    JUnit3 JUnit4
    测试类需要继承TestCase 不需要继承任何类
    测试函数约定:public、void、test开头、无参数 需要在测试函数前面加上@Test

    每个测试函数之前setUp执行

    @Before
    每个测试函数之后tearDown执行 @After
    没有类加载时执行的函数 @BeforeClass和@AfterClass

     

    三、JUnit4详解

    1.@Test用来标注测试函数

    2.@Before用来标注此函数在每次测试函数运行之前运行

    3.@After用来标注此函数在每次测试函数运行之后运行

    4.@BeforeClass用来标注在测试开始时运行;

    5.@AfterClass 用来标注在测试结束时运行;

    6.Assert类中有很多断言,比如assertEquals("期望值","实际值");


    代码示例:

    Person.java

    package org.xiazdong;
    
    public class Person {
    	private String name;
    	private int age;
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public int getAge() {
    		return age;
    	}
    	public void setAge(int age) {
    		this.age = age;
    	}
    	public Person(String name, int age) {
    		this.name = name;
    		this.age = age;
    	}
    	
    }
    

    PersonTest.java

    此测试是用JUnit3测试的;

    package org.xiazdong.junit;
    
    import junit.framework.Assert;
    import junit.framework.TestCase;
    
    import org.xiazdong.Person;
    
    public class PersonTest extends TestCase {
    	
    	@Override
    	protected void setUp() throws Exception {
    		System.out.println("setUp");
    	}
    
    	@Override
    	protected void tearDown() throws Exception {
    		System.out.println("tearDown");
    	}
    
    	public void testFun1(){
    		Person p = new Person("xiazdong",20);
    		Assert.assertEquals("xiazdong", p.getName());
    		Assert.assertEquals(20, p.getAge());
    	}
    	public void testFun2(){
    		Person p = new Person("xiazdong",20);
    		Assert.assertEquals("xiazdong", p.getName());
    		Assert.assertEquals(20, p.getAge());
    	}
    }
    

    PersonTest2.java

    此测试是用JUnit4测试的;

    package org.xiazdong.junit;
    
    import junit.framework.Assert;
    
    import org.junit.After;
    import org.junit.AfterClass;
    import org.junit.Before;
    import org.junit.BeforeClass;
    import org.junit.Test;
    import org.xiazdong.Person;
    
    public class PersonTest2 {
    	
    	@Before
    	public void before(){
    		System.out.println("before");
    	}
    	@After
    	public void after(){
    		System.out.println("After");
    	}
    	@BeforeClass
    	public void beforeClass(){
    		System.out.println("BeforeClass");
    	}
    	@AfterClass
    	public void afterClass(){
    		System.out.println("AfterClass");
    	}
    	@Test
    	public void testFun1(){
    		Person p = new Person("xiazdong",20);
    		Assert.assertEquals("xiazdong", p.getName());
    		Assert.assertEquals(20, p.getAge());
    	}
    	@Test
    	public void testFun2(){
    		Person p = new Person("xiazdong",20);
    		Assert.assertEquals("xiazdong", p.getName());
    		Assert.assertEquals(20, p.getAge());
    	}
    }
    




    作者:xiazdong
    出处:http://blog.xiazdong.info
    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
  • 相关阅读:
    jQuery中$(function(){})与(function($){})(jQuery)、$(document).ready(function(){})等的区别详细讲解
    jQuery的三种$()方式
    基于DDD的.NET开发框架
    你得学会并且学得会的Socket编程基础知识
    C#委托及事件
    C#学习笔记:泛型委托Action<T>和Fun<TResult>
    JS 变量或参数是否有值的判断
    [转]剖析ASP.Net MVC Application
    python爬虫beautifulsoup4系列2【转载】
    python爬虫beautifulsoup4系列1【转载】
  • 原文地址:https://www.cnblogs.com/xiazdong/p/3058344.html
Copyright © 2011-2022 走看看