接下來是程序的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。