接下来是程序的Manifest:
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
<?xml version="1.0" encoding="utf-8"?>
<manifestxmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.testapp"
android:versionCode="1"
android:versionName="1.0.0">
<applicationandroid:icon="@drawable/icon"android:label="@string/app_name">
<activityandroid:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<uses-libraryandroid:name="android.test.runner"/>
</application>
<instrumentationandroid:targetPackage="com.android.testapp"android:name="android.test.InstrumentationTestRunner"android:label="Test Unit Tests"></instrumentation>
</manifest>
在这个文件中,我将 Activity和Instrumentation的声明写到了一起,而没有像Apis Demo那样分开。请注意里面的标签。如果没有那句,在运行测试时会报告找不到TestRunner。这是由于 Android在build的时候只把需要的东西打包,所以你必须明确的告诉Android Builder这一点。
wordend 相关阅读:
MOTODEV初体验,高效Android开发工具
详解如何实现一个基本的Android用户界面
Android应用开发实战:GPS与加速度传感器
3、Build和Install
在 Eclipse上,这两个步骤是一起完成的。只要点一下Run即可。只不过如果你不在Run Configuration里将安装后的Launch Action设为“Do Nothing”,会自动运行一下你的MainActivity。对于我们,设为Do Nothing即可。如下图:
完成后,利用命令:
adb shell pm list packages
可以在已经安装的pkg列表里看到com.android.testapp。
4、运行测试,查看结果
之后打开命令行,运行以下命令
adb shell am instrument –e class com.android.testapp.test.TestMainActivity –w com.android.testapp/android.test.InstrumentationTestRunner
即可看到如下的结果:
可以看到,单元测试正确的找到了减法中的错误。结果中的成功的测试显示为”.”,一个失败的显示为”F”。只不过我还是不太理解为什么我只写了两个测试方法,Tests run却显示了3。