JUnit是一个Java语言的单元测试框架。JUnit是白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。
JUnit3:
测试类必须继承类TestCase。
测试方法必须以test开头(如:testAdd())。
setUp():实现测试前的初始化工作。
tearDown():实现测试后的垃圾回收等工作。
**需要注意的是,JUnit3中每个测试方法执行时都会执行setUp和tearDown,而不是一个类中只执行一次。
JUnit4:
测试类不需要继承TestCase。
不需要让测试方法以test开头,取而代之的是在测试方法前标记@Test。
@Before和@After:
JUnit3中的setUp和tearDown方法用@Before和@After来代替,可以使用多个@Before和@After来注释多个方法在测试方法之前/之后运行。(对于每一个测试方法都要执行一次)
@BeforeClass和@AfterClass:
测试用例初始化时执行被@BeforeClass标注的方法,当所有测试执行完毕后,执行@AfterClass进行收尾工作(针对所有测试方法,只执行一次)。
标注@BeforeClass和@AfterClass的方法必须是static的,因为方法将随着类的加载而加载,那时候还没创建测试对象实例。
@Ignore:
忽略的测试方法。
一个Junit4的单元测试用例执行顺序为:
@BeforeClass - @Before - @Test - @After - @AfterClass
每一个测试方法的调用顺序为:
@Before - @Test - @After