图1 TestCase的类继承关系
如果需要使用JUnit做单元测试,可以继承TestCase,每一个TestCase的子类可以作为独立的测试用例,从而实现测试的目的。
TestSuite测试组
一个TestCase用例会包含多个test开头的测试函数,而一个应用中,会包括若干个TestCase的用例,通常用户会运行应用中的所有的测试,从而确保应用是可以运行的。有些测试是非常耗费时间,如果每次进行一个小的改动就运行所有的测试,这是很多开发人员不可接受的,这时就需要组合一些TestCase用例以及TestCase中的方法,把测试分成很多的组,每次只针对特定的组进行测试。
JUnit框架提供了TestSuite套件来组合测试类及测试方法,TestSuite实现了addTestSuite方法和addTest方法,addTestSuite和addTest能添加一个测试类或另一个TestSuite到当前组中,通过这种组合,用户能够把要测试的用例及方法分成一个组,最后组成一个测试的套件。
Setup与Tear-down
通常每个测试的运行都应该是独立的,从而就可以在任何时候,以任意的顺序运行每个单独的测试。然而有些时候需要一些全局的环境变量设置,每个测试用例都可以用到这些设置,而不必每个测试方法运行前都重新设置,这就需要在测试用例运行前使用不同的初始化方式。
测试用例的每一个方法的执行都是相互独立的,每个test方法执行之前,JUnit框架会执行相应的初始化方法,从而保证每个test方法的执行和其它test方法之间没有关系。当test方法执行后,JUnit框架也会自动执行清理方法。测试方法的初始化和清理工作是通过实现TestCase子类的setup和tearDown方法完成的。
要分清楚TestCase和TestSuite中方法的执行顺序,初始化条件,这对设计测试项目以及程序的设计都是非常重要的。
| 第1页: 为什么需要单元测试 | 第2页: 断言 |
| 第3页: JUnit测试 | 第4页: 使用Eclipse进行单元测试 |
| 第5页: 运行、调试测试用例 |