快速业务通道

Java ME下的单元测试开发之JMUnit篇 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-24
语句中的每一个case语句(以及相应的每一个测试)都会被框架所调用。当把一个测试方法添加到测试用例中时,如果忘记更新测试用例类的构造器可能会导致部分测试用例不被激活。

因为你使用JMUnit编写测试方法,那么这可能会比基于JUnit更灵活一些:它允许执行测试方法。借助于测试方法的控制作用,你可以编写使用参数的测试-而这一点JUnit是不允许(由于反射机制)的。例如,针对TemperatureConverstionTest方法的一个测试方法可能看起来如下所示:

public void testcelsiusToFahrenheit(float c, float f) throws AssertionFailedException{  System.out.println("celsiusToFahrenheit(float c)");  float result = TemperatureConversion.celsiusToFahrenheit(c);  assertEquals(f, result); }

然后,该测试方法就可以使用参数来调用switch语句中的这个测试方法。

public void test(int testNumber) throws Throwable {  switch(testNumber) {   case 0:testfahrenheitToCelsius();break;   case 1:testcelsiusToFahrenheit();break;   case 2:testisHotter();break;   case 3:testisCooler();break;   case 4:testcelsiusToFahrenheit(20F,68F);break;   default: break;  } }

c) JMUnit测试集

测试集负责管理一个或多个测试用例。JMUnit提供了两个测试集抽象类(jmunit.framework.cldc10.TestSuite和jmunit.framework.cldc11.TestSuite),你可以从它们进行继承以便创建一个测试集。就象测试用例一样,你应该继承的测试集的类型依赖于你在使用哪一个版本的CLDC。cldc10.TestSuit适用于CLDC 1.0应用程序,而cldc11.TestSuite适用于CLDC 1.1应用程序。这两个测试集抽象类都分别提供了一个以一个字符串作为参数的构造器。该字符串用于给出测试集的一个描述。

一个测试集的唯一功能是创建它的所有测试用例的一个实例,然后调用这些测试用例的测试方法。为了在一个测试集上添加一个测试用例,在构建测试集时应该添加add(testCase)方法。下面是一个实现转换测试用例的测试集的例子:

import jmunit.framework.cldc11.TestSuite; public class ConversionTestSuite extends TestSuite{  public ConversionTestSuite() {   super("All Conversion Tests");   add(new DistanceConversionTest());   add(new TemperatureConversionTest()); }

Java ME下的单元测试开发之JMUnit篇(4)

时间:2010-05-21 天极 朱先忠

d) 执行JMUnit测试

JMUnit的TestCase和TestSuite抽象类都是MIDlet的子类。这允许你在一个仿真器(也有可能是一个真实设备)中运行你的单个测试用例或测试集。当在一个模拟器上运行时,每一个测试用例或测试集都提供两个命令:exit和test。图1描述了上面描述的测试集相应的执行结果;图2展示了失败时显示的内容。

Java ME下的单元测试开发之JMUnit篇 - 编程入门网

图1.执行一个测试用例:执行一个JMUnit测试集使你能够选择退出或测试该测试集。测试集的结果以图形方式显示。

Java ME下的单元测试开发之JMUnit篇 - 编程入门网

图2.一个失败测试用例:当一个测试用例失败时,失败情况以红色图形方式显示。

Java ME下的单元测试开发之JMUnit篇 - 编程入门网

图3.失败测试用例的控制台输出:失败时的文本输出指出哪个测试用例失败了,为什么它失败,并且提供一个堆栈跟踪结果以帮助确定它在哪儿失败的。

因此,当执行测试时,你还要检查该控制台(见图3)。失败信息通过控制台以更好的文档形式输出。这些失败输出包括堆栈跟踪信息,还有来自于该测试的实际的和期望的值。比较于随后我们将讨论的J2MEUnit,这可能是JMUnit所缺乏的特征之一。在J2MEUnit中,不是使用控制台输出,测试用例失败情形将被显示到模拟设备上。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号