首 页 | 新 闻 | 技术中心 | 第二书店 | 《程序员》 | 《开发高手》 | 社 区 | 黄 页 | 人 才
移 动专 题SUNIBM微 软微 创精 华Donews人 邮
我的技术中心 
我的分类 我的文档
全部文章 发表文章
专栏管理 使用说明



 RSS 订阅 
最新文档列表
Windows/.NET
.NET  (rss)    
Visual C++  (rss)    
Delphi  (rss)    
Visual Basic  (rss)    
ASP  (rss)    
JavaScript  (rss)    
Java/Linux
Java  (rss)    
Perl  (rss)    
综合
其他开发语言  (rss)    
文件格式  (rss)    
企业开发
游戏开发  (rss)    
网站制作技术  (rss)    
数据库
数据库开发  (rss)    
软件工程
其他  (rss)    

积极原创作者 
psyl (153)
capsicum29 (8)
qdzx2008 (51)
ShowLong (1)
cyp403 (16)
yjz0065 (114)
lphpc (31)
smallnest (63)
tellmenow (22)
cutemouse (22)
CSDN - 文档中心 - Java 阅读:295   评论: 1    参与评论
标题   Eclipse快速上手指南之使用JUnit     选择自 kmlzkma 的 Blog
关键字   Eclipse快速上手指南之使用JUnit
出处  
作者: asklxf
出处: J2ME开发网

  测试对于保证软件开发质量有着非常重要的作用,单元测试更是必不可少,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,确保新增和修改的代码不会破坏原有的功能,大大增强软件的可维护性,避免代码逐渐“腐烂”。

相关文章
对该文的评论
weichenggao ( 2006-04-17)
按照例子做出错,让我郁闷了很久.
应该把类定位放在这里
Hello hello = new Hello();
assertEquals(hello.abs(2),6);
希望以后的网友注意..