在Eclipse中使用JUnit
测试对于保证软件开发质量有着很是重要的做用,单元测试更是必不可少,JUnit是一个很是强大的单元测试包,能够对一个/多个类的单个/多个方法测试,还能够将不一样的TestCase组合成TestSuit,使测试任务自动化。Eclipse一样集成了JUnit,能够很是方便地编写TestCase。
咱们建立一个Java工程,添加一个example.Hello类,首先咱们给Hello类添加一个abs()方法,做用是返回绝对值:
下一步,咱们准备对这个方法进行测试,确保功能正常。选中Hello.java,右键点击,选择New->JUnit Test Case:
Eclipse会询问是否添加junit.jar包,肯定后新建一个HelloTest类,用来测试Hello类。
选中setUp()和tearDown(),而后点击“Next”:
选择要测试的方法,咱们选中abs(int)方法,完成后在HelloTest.java中输入:
JUnit会以如下顺序执行测试:(
大体的代码)
try { HelloTest test = new HelloTest(); // 创建测试类实例 test.setUp(); // 初始化测试环境 test.testAbs(); // 测试某个方法 test.tearDown(); // 清理资源 } catch…
|
setUp()是创建测试环境,这里建立一个Hello类的实例;tearDown()用于清理资源,如释放打开的文件等等。以test开头的方法被认为是测试方法,JUnit会依次执行testXxx()方法。在testAbs()方法中,咱们对abs()的测试分别选择正数,负数和0,若是方法返回值与期待结果相同,则assertEquals不会产生异常。
若是有多个testXxx方法,JUnit会建立多个XxxTest实例,每次运行一个testXxx方法,setUp()和tearDown()会在testXxx先后被调用,所以,不要在一个testA()中依赖testB()。
直接运行Run->Run As->JUnit Test,就能够看到JUnit测试结果:
绿色表示测试经过,只要有1个测试未经过,就会显示红色并列出未经过测试的方法。能够试图改变abs()的代码,故意返回错误的结果(好比return n+1;),而后再运行JUnit就会报告错误。
若是没有JUnit面板,选择Window->Show View->Other,打开JUnit的View:
JUnit经过单元测试,能在开发阶段就找出许多Bug,而且,多个Test Case能够组合成Test Suite,让整个测试自动完成,尤为适合于XP方法。每增长一个小的新功能或者对代码进行了小的修改,就马上运行一遍Test Suite,确保新增和修改的代码不会破坏原有的功能,大大加强软件的可维护性,避免代码逐渐“腐烂”。