Android系统单元测试方法(17)

发表于:2011-06-30来源:未知作者:领测软件测试网采编点击数: 标签:
Java代码 adbshellaminstrument-e class com.android.foo.MyTestCase-wcom.android.foo/android.test.InstrumentationTestRunner adb shell am instrument -e class com.android.foo.MyTestCase -w com.android.fo


Java代码 复制代码 收藏代码
  1. adb shell am instrument -e class com.android.foo.MyTestCase -w com.android.foo/android.test.InstrumentationTestRunner  

如果仅仅想运行一个Test(比如就是上面MyTestCase的testFoo方法),很类似的,就这样写:

Java代码 复制代码 收藏代码
  1. adb shell am instrument -e class com.android.foo.MyTestCase#testFoo -w com.android.foo/android.test.InstrumentationTestRunner  

然后,所有的测试结果会输出到控制台,并会做一系列统计,如标记为E的是Error,标记为F的是Failure,Suclearcase/" target="_blank" >ccess的测试则会标记为一个点。这和JUnit的语义一致。如果希望断点调试你的测试,只需要直接在代码上加上断点,然后将运行命令参数的-e后边附加上debug true后运行即可。更加详细的内容可以看InstrumentationTestRunner的Javadoc。我希望Android能尽快有正式的文档来介绍这个内容。 如何在Android的单元测试中做标记?

在android.test.annotation包里定义了几个annotation,包括 @LargeTest,@MediumTest,@SmallTest,@Smoke,和@Suppress。你可以根据自己的需要用这些 annotation来对自己的测试分类。在执行单元测试命令时,可以在-e参数后设置“size large”/ “size medium”/ “size small”来执行具有相应标记的测试。特别的@Supperss可以取消被标记的Test的执行。 完整的操作过程

总结以上所有的内容,编写并运行完整的测试需要以下的步骤:
loadrunner/" target="_blank" >lr87_RS_ybLUaROG971Ml4s-K4ueu7-K24ECCe7KtCddfdN19EX1huVHzsNGkF598ULmMEZsbewOGHeDC8K8zLnFeTfpfQxqB2kUPA/clip_image008_thumb%5B1%5D.gif" />

以上步骤中,在Android自带的例子中,我发现它有两个manifest.xml。也就是说在步骤3中源代码和测试代码分别生成了两个不同的包。然后步骤4利用adb install命令安装到了虚拟机上。由于我没有找到Eclipse ADT有办法可以为一个只有Instrumentation,没有Activity的Application打包并安装,于是采用了略微不同的办法完成了这个工作。下面将一一详细介绍整个过程。 1. 编写程序

我新建了一个项目TestApp,参数为:

Java代码 复制代码 收藏代码
  1. Package Name: com.android.testapp   
  2.   
  3. Activity Name: MainActivity   
  4.   
  5. Application Name: TestApp   
  6.   
  7. 以下是MainActivity的源代码:   
  8.   
  9. package com.android.testapp;   
  10.   
  11. import android.app.Activity;   
  12.   
  13. import android.os.Bundle;   
  14.   
  15. public class

    原文转自:http://www.ltesting.net