快速业务通道

JBuilder 2005单元测试之JUnit框架 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-25
测试固件而直接编写测试用例方法。下面我们在测试固件的基础上添加测试用例方法testMoneyBag(),代码如下所示:

代码清单 错误!文档中没有指定样式的文字。测试用例方法

1. public class MoneyTest extends TestCase 2. { 3.  private Money f12CHF;//12瑞士法郎 4.  private Money f14CHF; //14瑞士法郎 5.  private Money f28USD; //28美国美元 6.  protected void setUp() { 7.   f12CHF= new Money(12, "CHF"); 8.   f14CHF= new Money(14, "CHF"); 9.   f28USD= new Money(28, "USD"); 10. } 11.  public void testMoneyBag() 12.  {  13.   Money bag[]= { f26CHF, f28USD }; 14.   MoneyBag expected= new MoneyBag(bag); 15.   assertEquals(expected, f12CHF.add(f28USD.add(f14CHF))); 16.  } 17.  protected void tearDown(){} 18. }

测试方法都必须以test为前缀,且必须是public void的,运行器以此为反射查找规则找到这些测试用例方法。在一个方法中可以包括多个assertYyy()方法,每个assertYyy()方法都是一个测试规则。像第15行的assertYyy()断言方法即为测试Money的add()方法和MoneyBag类正确性的测试规则。

你可以在MoneyTest中添加多个public void testXxx()方法,运行器为每个方法生成一个测试用例实例,分别运行。

测试套件(TestSuite)

如果每次只能运行一个测试用例,那么又陷入了我们前面所谈到的传统测试的窘境:手工去运行一个个测试用例,测试套件专门为解决这一问题而来。它通过TestSuite对象将多个测试用例组装成到一个测试套件,则测试套件批量运行。需要特殊指出的是,可以把一个测试套件整个添加到另一个测试套件中,就象小筐装进大筐里变成一个箧一样。

测试套件类也通过承继TestCase类实现,只不过它提供了一个public static Test suite()静态方法,在该方法中将多个测试用例捆绑组装在一起。一个典型的测试套件代码如下所示:

代码清单 错误!文档中没有指定样式的文字。测试套件

1. public class MoneyTestSuite extends TestCase 2. { 3.  public TestSuite1(String s) 4.  { 5.   super(s); 6.  } 7.  public static Test suite() 8.  { 9.   TestSuite suite = new TestSuite(); 10.  suite.addTestSuite(MoneyTest.class); 11.   suite.addTestSuite(MoneyBag.class); 12.   return suite; 13.  } 14. }

在第9行中声明并实例化了一个TestSuite,在第10、11行分别加入一个测试用例。你可以通过suite.addTest(Test t)方法添加一个套件。这样运行这个套件就可以自动运行所有测试用例的测试方法了。

测试运行器

JUnit提供了3个标准的测试运行器运行这些测试用例或测试套件,这3个测试运行器分别是:

·junit.textui.TestRunner:文本测试运行器。

·junit.awtui.TestRunner:使用AWT组件界面的测试运行器。

·junit.swingui.TestRunner:使用Swing组件界面的测试运行器。

下面是基于AWT组件的测试运行器,如下图所示:

图 错误!文档中没有指定样式的文字。AWT测试运行器

·Test class name:指定测试用例类和测试套件类。

·一个进度条:表示运行测试的执行进度,进度条下是正确、错误、失败的测试统计数。

·Error and Failures:列出了测试错误和失败的列表,点选其中的一个选项时,JUnit在窗口底部列出错误跟踪迹。

提示:

JBuilder提供了方便的运行测试用例和测试套件类的方法,你只须点击鼠标右键就可直接调用了。此外,JBuilder提供了一个JBTestRunner测试运行器,在功能和易用性上非JUnit提供的测试运行器所能媲美。JBuilder支持JUnit所提供的两个测试运行器:junit.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号