J2ME Unit单元测试技术简介(1)(3)
接下来编写一个测试套件,其实你可能已经明白了,测试套件不过是一个特殊的TestCase,根据惯例,一般这样的类叫做TestAll,只需要将以前添加的TestCase中的suite添加给TestAll的suite就可以了。
- publicclassTestAllextendsTestCase{
- publicTestsuite()
- { TestSuitesuite=newTestSuite();
- suite.addTest(newTestOne().suite());
- suite.addTest(newTestTwo().suite());
- returnsuite;
- }}
调试:
有两个方法运行我们的测试。
使用textui
利用textui,这个大家都熟悉了,不做重点介绍。一般习惯上在TestAll方法中添加一个main方法:
- publicstaticvoidmain(String[]args)
- {
- String[]runnerArgs=newString[]{"J2ME Unit.examples.TestAll"};
- J2ME Unit.textui.TestRunner.main(runnerArgs);
- }
要为TestRunner.main传入一个String数组,里面罗列所有要测试的TestCase的完整路径,因为我们编写了TestAll,所以只传入他就可以了。
使用midletui
这才是这套框架迷人的地方,正是有了他我们可以在真机上进行UnitTest了,cool,这将节省多少的测试成本呀。所以之前所有的编写suite的工作就认了!
继承J2ME Unit单元测试.midletui.TestRunner,这是一个midlet父类。在startApp中调用如下方法:
- protectedvoidstartApp()
- {
- start(newString[]{"J2ME Unit.examples.TestAll"});
- }
或者,更为灵活的,你可以在jad文件中编写一个J2ME Unit单元测试TestClasses属性,写入你要测试的若干个TestCase,这样也可以进行测试而不更改主类。
如下是在模拟上的结果:
在我的MIDP1.0,真机上运行这个例子得到同样的结果,用时401ms。如果你正在使用j2me开发项目,建议把单元测试引入到你的工作当中,正如我们看到单元测试对于别的java平台的影响一样,对于嵌入式开发,它也是大有用武之地的。
- 上一篇:J2ME对话框选择功能实现原理
- 下一篇:J2ME可选包―PIM用法详解