龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

J2ME Unit单元测试技术简介(1)(3)

时间:2013-03-06 14:58来源:未知 作者:admin 点击:
分享到:
编写测试套件 接下来编写一个测试套件,其实你可能已经明白了,测试套件不过是一个特殊的TestCase,根据惯例,一般这样的类叫做TestAll,只需要将以前
编写测试套件

接下来编写一个测试套件,其实你可能已经明白了,测试套件不过是一个特殊的TestCase,根据惯例,一般这样的类叫做TestAll,只需要将以前添加的TestCase中的suite添加给TestAll的suite就可以了。 

  1. publicclassTestAllextendsTestCase{  
  2. publicTestsuite()  
  3. { TestSuitesuite=newTestSuite();  
  4. suite.addTest(newTestOne().suite());  
  5. suite.addTest(newTestTwo().suite());  
  6. returnsuite;  
  7. }} 

调试:

有两个方法运行我们的测试。

使用textui

利用textui,这个大家都熟悉了,不做重点介绍。一般习惯上在TestAll方法中添加一个main方法: 

  1.  
  2. publicstaticvoidmain(String[]args)  
  3. {  
  4. String[]runnerArgs=newString[]{"J2ME Unit.examples.TestAll"};  
  5. J2ME Unit.textui.TestRunner.main(runnerArgs);  
  6. }  
  7.  

要为TestRunner.main传入一个String数组,里面罗列所有要测试的TestCase的完整路径,因为我们编写了TestAll,所以只传入他就可以了。


使用midletui

这才是这套框架迷人的地方,正是有了他我们可以在真机上进行UnitTest了,cool,这将节省多少的测试成本呀。所以之前所有的编写suite的工作就认了!

继承J2ME Unit单元测试.midletui.TestRunner,这是一个midlet父类。在startApp中调用如下方法:
 

  1. protectedvoidstartApp()  
  2. {  
  3. start(newString[]{"J2ME Unit.examples.TestAll"});  


或者,更为灵活的,你可以在jad文件中编写一个J2ME Unit单元测试TestClasses属性,写入你要测试的若干个TestCase,这样也可以进行测试而不更改主类。

如下是在模拟上的结果:



在我的MIDP1.0,真机上运行这个例子得到同样的结果,用时401ms。如果你正在使用j2me开发项目,建议把单元测试引入到你的工作当中,正如我们看到单元测试对于别的java平台的影响一样,对于嵌入式开发,它也是大有用武之地的。

精彩图集

赞助商链接