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
-
adb shell am instrument -e class com.android.foo.MyTestCase -w com.android.foo/android.test.InstrumentationTestRunner
adb shell am instrument -e class com.android.foo.MyTestCase -w com.android.foo/android.test.InstrumentationTestRunner
如果仅仅想运行一个Test(比如就是上面MyTestCase的testFoo方法),很类似的,就这样写:
-
adb shell am instrument -e class com.android.foo.MyTestCase#testFoo -w com.android.foo/android.test.InstrumentationTestRunner
adb shell am instrument -e class com.android.foo.MyTestCase#testFoo -w com.android.foo/android.test.InstrumentationTestRunner
然后,所有的测试结果会输出到控制台,并会做一系列统计,如标记为E的是Error,标记为F的是Failure,Su
clearcase/" 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,参数为:
-
Package Name: com.android.testapp
-
-
Activity Name: MainActivity
-
-
Application Name: TestApp
-
-
以下是MainActivity的源代码:
-
-
package com.android.testapp;
-
-
import android.app.Activity;
-
-
import android.os.Bundle;
-
-
public class
原文转自:http://www.ltesting.net