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

发表于:2011-06-30来源:未知作者:领测软件测试网采编点击数: 标签:
如果用Eclipse的ADT插件(0.8版本以上),也可以用图形界面来添加,如下图: 编辑好manifest,就可以打包(build,可以用Eclipse ADT来做,也可以用aapt命令手工


如果用Eclipse的ADT插件(0.8版本以上),也可以用图形界面来添加,如下图:


编辑好manifest,就可以打包(build,可以用Eclipse ADT来做,也可以用aapt命令手工完成),然后安装到虚拟机上(用adb install命令)。之后就可以利用命令行的方式来加载你的单元测试了。在Android Shell中加载一个Instrumentation的方法是利用以下命令:

Java代码 复制代码 收藏代码
  1. adb shell am instrument –w XXXXXX  


其中-w是指定Instrumentation类的参数标志。一个简单的例子是:

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


当然,也可以利用adb shell先进入android命令行模式,再直接写am instrument –w XXXXXXX。下面将具体介绍如何将根据需要加载一组单元测试。 如何在Android中利用Instrumentation来进行测试?

在介绍具体的命令之前,我们先理解一下单元测试的层次。一组单元测试可以被组织成若干个TestSuite。每个TestSuite包含若干TestCase(某个继承android.jar的junit.framework.TestCase的类)。每个TestCase又包含若干个 Test(具体的test方法)。

如果假设com.android.foo是你的测试代码的包的根。当执行以下命令时,会执行所有的TestCase的所有Test。测试的对象就是在Target Package中指定的包中的代码:

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

如果你想运行一个TestSuite,首先继承android.jar的junit.framework.TestSuite类,实现一个TestSuite(比如叫com.android.foo.MyTestSuite),然后执行以下命令执行此TestSuite

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


其中的-e表示额外的参数,语法为-e [arg1] [value1] [arg2] [value2] …这里用到了class参数。

如果仅仅想运行一个TestCase(比如叫com.android.foo.MyTestCase),则用以下命令:

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