站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Eclipse 专题Eclipse中使用Junit插件测试

Eclipse中使用Junit插件测试

摘要: 测试对于保证软件开发质量有着非常重要的作用,单元测试更是必不可少,JUnit是一个非常强大的单元测试包
<table cellSpacing=1 cellPadding=2 width=600 align=center bgColor=#ff3300 border=0> <tr bgColor=#ffffff> <td bgColor=#cc0000 colSpan=4>天极软件专题专区精选     到天极软件“读编交流区”畅所欲言</td></tr> <tr bgColor=#ffffff> <td width="25%">Google专区 </td> <td width="23%">POPO专区</td> <td width="24%">QQ专区 QQ挂机</td> <td width="28%">了解Web2.0</td></tr> <tr bgColor=#ffffff> <td width="25%">Flash MX 视频教程</td> <td width="23%">Photoshop视频教程</td> <td width="24%">网页设计视频教程</td> <td width="28%">照片处理数字暗房</td></tr> <tr bgColor=#ffffff> <td width="25%">PPT动画演示教程</td> <td width="23%">Excel动画教程集</td> <td width="24%">Word动画演示教程</td> <td width="28%">Windows Vista专区 </td></tr> <tr bgColor=#ffffff> <td width="25%" height=18>特洛伊木马专区</td> <td width="23%" height=18>黑客知识教程专区</td> <td width="24%" height=18>防火墙应用专区</td> <td width="28%" height=18>注册表应用专区</td></tr> <tr bgColor=#ffffff> <td width="25%">Windows API开发专区</td> <td width="23%">网络编程专区</td> <td width="24%">VB数据库编程专区</td> <td width="28%">图像处理与多媒体编程</td></tr></table>
  测试对于保证软件开发质量有着非常重要的作用,单元测试更是必不可少,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会以以下顺序执行测试:(大致的代码)

<table class=txcode cellSpacing=0 cellPadding=0 align=center border=0> <tr> <td>try {
HelloTest test = new HelloTest(); // 建立测试类实例
test.setUp(); // 初始化测试环境
test.testAbs(); // 测试某个方法
test.tearDown(); // 清理资源
}
catch…

</td></tr></table>
  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,确保新增和修改的代码不会破坏原有的功能,大大增强软件的可维护性,避免代码逐渐“腐烂”。




↑返回目录
前一篇: Eclipse插件开发如虎添翼
后一篇: Eclipse RCP:用于构建平台的平台 - 组件