初识 JUnit 4.0

来源:互联网 发布:什么软件开发最有前途 编辑:程序博客网 时间:2024/06/07 01:27

一、概要

JUnit是一个Java语言的单元测试框架。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。


二、入门案例

 

导入JAR包

方法一:导入Eclipse或MyEclipse自带的junit测试包(项目右键 ->build path -> add libraries -> Junit)

方法二:官网(http://junit.org/)下载JUnit的JAR包,建立lib文件夹,导入JAR。

方法三:写完@Test,ctrl+1快捷键自动导入。

 

Person类

[java] view plaincopy
  1. public class Person {  
  2.          publicvoid sayHello(){  
  3.                   System.out.println("hello");  
  4.          }  
  5. public voidsayBye(){  
  6.                   System.out.println("bye");  
  7.          }  
  8. }  

TestPerson类

[java] view plaincopy
  1. import org.junit.Test;  
  2. importcom.lianggzone.view.Person;  
  3.    
  4. public class TestPerson {  
  5.          
  6.          @Test  
  7.          publicvoid testSayHello(){  
  8.                    Personperson = new Person();  
  9.                    person.sayHello();  
  10.          }        
  11. }  


三、注释


 注释

 说明

 @Before

用于初始化方法,在每个测试方法执行之前都要执行一次。

 @After

用于释放资源,在每个测试方法执行之后要执行一次。

 @Test

测试方法

 @Ignore

忽略的测试方法

 @BeforeClass

用于初始化方法,针对所有测试,只执行一次

 @AfterClass

用于释放资源,针对所有测试,只执行一次

附注:

@Before、@After:保证这两种方法都使用public void 修饰,而且不能带有任何参数。

@BeforeClass、@AfterClass:保证这两种方法都使用public static void 修饰,而且不能带有任何参数。

 

测试代码:

[java] view plaincopy
  1. import org.junit.After;  
  2. import org.junit.AfterClass;  
  3. import org.junit.Before;  
  4. import org.junit.BeforeClass;  
  5. import org.junit.Test;  
  6. importcom.lianggzone.view.Person;  
  7.    
  8. public class TestPerson {  
  9.          privatePerson person;  
  10.          
  11.          @BeforeClass  
  12.          publicstatic void beforeClass(){       
  13.                   System.out.println("beforeClass");  
  14.          }  
  15.          
  16.          @Before  
  17.          publicvoid before(){  
  18.                    person= new Person();  
  19.                   System.out.println("before");  
  20.          }  
  21.          
  22.          @Test  
  23.          publicvoid testSayHello(){        
  24.                    person.sayHello();  
  25.          }  
  26.          
  27.          @Test  
  28.          publicvoid testBye(){  
  29.                    person.sayBye();  
  30.          }  
  31.          
  32.          @After  
  33.          publicvoid after(){  
  34.                   System.out.println("after");  
  35.          }  
  36.          
  37.          @AfterClass  
  38.          publicstatic void afterClass(){  
  39.                   System.out.println("afterClass");  
  40.          }  
  41. }  

执行结果

beforeClass

before

hello

after

before

bye

after

afterClass