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

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

时间:2013-03-06 14:58来源:未知 作者:admin 点击:
分享到:
编写测试类: 让我们编写一个TestCase来学习如何使用这套工具。 编写TestCase类 编写测试的类要继承J2ME Unit单元测试.framework.TestCase。如同JUnit中一样,你可


编写测试类:

让我们编写一个TestCase来学习如何使用这套工具。

编写TestCase类

编写测试的类要继承J2ME Unit单元测试.framework.TestCase。如同JUnit中一样,你可以覆写setUp()和tearDown()方法,虽然这里没有反射机制,但还是推荐你把测试方法以test开头。这样一但J2ME有了反射机制,你也可以快速的移植。还有一点要注意的是,你需要为子类提供一个构造函数(假设你的类叫做TestOne): 

  1.  
  2. publicTestOne(StringsTestName,TestMethodrTestMethod)  
  3. {  
  4. super(sTestName,rTestMethod);  

稍候解释这是为什么?

接下来编写两个个测试方法,这很熟悉: 

  1. publicvoidtestOne()  
  2. {  
  3. System.out.println("TestOne.testOne()");  
  4. assertTrue("Shouldbetrue",false);  
  5. }  
  6. publicvoidtestTwo()  
  7. {  
  8. System.out.println("TestOne.testTwo()");  
  9. thrownewRuntimeException("Exception");  

正是缺少反射机制,你需要手动编写suite方法,并一一调用你编写的测试方法,这个步骤多多少少有些烦闷。没办法了,这是理解J2ME Unit单元测试框架的关键了,咱连writeoncedebuganywhere都忍了,还有什么困难不能克服呢?

suite方法要求我们返回一个TestSuite对象,因此,首先建立一个新的TestSuite对象并调用addTest方法,为他添加Test对象。Test是一个接口,TestSuite、TestCase都实现了他,因此既可以添加测试单元、又可以添加一个测试套件。

根据J2ME Unit单元测试的设计思想,一个TestCase在运行时,只能捆绑一个TestMethod对象。TestMethod是一个标准的回调接口,只含有一个回调run(TestCasetc)方法。这个run方法的任务是调用一个,注意,是一个测试方法,那么一旦这个方法出现问题,可以很好的捕捉它,并返回给用户。TestMethod提供了一组set方法用于捆绑一个TestMethod对象,但实际我们不去使用它,因为效率太低了,为了更快捷的捆绑TestMethod对象,我们要利用构造函数和匿名类来捆绑TestMethod类的实例。这个匿名类很好编写,只要将传入的TestCasetc向上转型到你的TestCase子类,然后调用相关方法就可。我们不得不同时提供一个String作为名称给我们的构造函数

看一下下面这个例子,希望能帮助你理解上面那段总觉得有些拗口的话。如果你理解了“一个TestCase在运行时,只能捆绑一个TestMethod对象”这句话,那么就理解了J2ME Unit单元测试所谓的新机制。千万不要在一个TestMethod中连续调用多个test方法,这样一旦某个方法出了问题,那么整个方法会结束而后续的测试将不能执行。一定要老老实实做人,认认真真写suite(),似乎又回到了剪刀加浆糊的时代。 

  1. publicTestsuite()  
  2. {  
  3. TestSuiteaSuite=newTestSuite();  
  4. aSuite.addTest(newTestOne("testOne",newTestMethod()  
  5. {publicvoidrun(TestCasetc){((TestOne)tc).testOne();  
  6. }}));  
  7. aSuite.addTest(newTestOne("testTwo",newTestMethod()  
  8. {publicvoidrun(TestCasetc){((TestOne)tc).testTwo();  
  9. }}));  
  10. returnaSuite;  

精彩图集

赞助商链接