服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

eclipse快速上手指南(2)

4. 在eclipse中使用junit

测试对于保证软件开发质量有着非常重要的作用,单元测试更是必不可少,junit是一个非常强大的单元测试包,可以对一个/多个类的单个/多个方法测试,还可以将不同的testcase组合成testsuit,使测试任务自动化。eclipse同样集成了junit,可以非常方便地编写testcase。

我们创建一个java工程,添加一个example.hello类,首先我们给hello类添加一个abs()方法,作用是返回绝对值:
eclipse快速上手指南(2)(图一)

下一步,我们准备对这个方法进行测试,确保功能正常。选中hello.java,右键点击,选择new->junit test case:

eclipse快速上手指南(2)(图二)

eclipse会询问是否添加junit.jar包,确定后新建一个hellotest类,用来测试hello类。

eclipse快速上手指南(2)(图三)

选中setup()和teardown(),然后点击“next”:

eclipse快速上手指南(2)(图四)

选择要测试的方法,我们选中abs(int)方法,完成后在hellotest.java中输入:

 eclipse快速上手指南(2)(图五)

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测试结果:

eclipse快速上手指南(2)(图六)

绿色表示测试通过,只要有1个测试未通过,就会显示红色并列出未通过测试的方法。可以试图改变abs()的代码,故意返回错误的结果(比如return n+1;),然后再运行junit就会报告错误。

如果没有junit面板,选择window->show view->other,打开junit的view:

eclipse快速上手指南(2)(图七)

junit通过单元测试,能在开发阶段就找出许多bug,并且,多个test case可以组合成test suite,让整个测试自动完成,尤其适合于xp方法。每增加一个小的新功能或者对代码进行了小的修改,就立刻运行一遍test suite,确保新增和修改的代码不会破坏原有的功能,大大增强软件的可维护性,避免代码逐渐“腐烂”。

待续...

扫描关注微信公众号