使用 Eclipse 建立 android test project
Step 1. 開啟 Eclipse -> File -> new -> other -> 輸入 android test project -> next
Step 2.輸入 測試專案名稱
Step 2.a 選擇 finish -> Step 5.
Step 2.b 選擇 next -> Step 3.
Step 3.選擇被測專案
Step 3.a 選擇 next -> Step 4.
Step 3.b 選擇 finish -> Step 5.
Step 4.選擇 target sdk version
Step 5.建立測試專案完成!
使用 Command line 建立 android test project
Step 1. 開啟終端機並使用 android-sdk/tools/android 建立測試專案,建立測試專案的指令如下
android create test-project -p 測試專案路徑 -m 被測專案路徑 -p 代表測試專案路徑 -m 代表被測專案路徑
Note :
- 這2個參數都是必須的,因此使用 command line 建立測試專案必須存在被測專案才行。
- 被測專案路徑會由被測專案路徑中是否存在 AndroidManifest.xml 來判斷,若被測專案不存在 AndroidManifest.xml 會出現以下錯誤訊息
Error: No AndroidManifest.xml file found in the main project directory: - 若直接輸入 android 出現 command not found 的錯誤,請參考這篇(將相關指令加入環境變數
以下為範例:
首先建立被測專案 TargetTestProject
可以使用 eclipse 也可以使用 command line,以下使用指令
Step 1. 建立TargetTestProject資料夾,並移動該資料夾中
mkdir TargetTestProject cd TargetTestProject
Step 2.建立 android project
android create project -p ./ -n TargetTestProject -k com.example.targettestproject -a MainActivity -t android-15 -p path to project directory -n name of application -k name of package -a name of helloworld activity -t android version
完成後會自動產生一個 MainActivity.java 位置在
TargetTestProject/src/com/example/targettestproject/MainActivity 可以啟動看看是否正常,在已連接裝置或是已啟動 AVD 的狀況下輸入
adb shell am start -n com.example.targettestproject/com.example.targettestproject.MainActivity
應該就可看到該app已啟動完成顯示在裝置上。
再建立測試專案 TestProject
cd ../ mkdir TestProject cd TestProject android create test-project -p ./ -m ../TargetTestProject
以上指令除了建立測試專案之外還會幫我們建立一個 test case 為 MainActivityTest.java
該名稱會對應於被測專案的Activity字尾加上Test
位置在 TargetTestProject/src/com/example/targettestproject/MainActivityTest.java
內容如下
package com.example.targettestproject; import android.test.ActivityInstrumentationTestCase2; /** * This is a simple framework for a test of an Application. See * {@link android.test.ApplicationTestCase ApplicationTestCase} for more information on * how to write and extend Application tests. * <p/> * To run this test, you can type: * adb shell am instrument -w \ * -e class com.example.targettestproject.MainActivityTest \ * com.example.targettestproject.tests/android.test.InstrumentationTestRunner */ public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> { public MainActivityTest() { super("com.example.targettestproject", MainActivity.class); } }
現在就可以試著啟動測試程式看看。
你可以使用註釋中提到的方式啟動,但是缺點是修改 source code 之後並不會重新編譯以及安裝,如下
* adb shell am instrument -w \ * -e class com.example.targettestproject.MainActivityTest \ * com.example.targettestproject.tests/android.test.InstrumentationTestRunner */
不如使用 ant 來的方便,指令比較短也會自動完成需要的工作。
ant uninstall clean debug install test
啟動並完成測試之後,可以看到以下輸出
... test: [echo] Running tests ... [exec] [exec] Test results for InstrumentationTestRunner= [exec] Time: 0.0 [exec] [exec] OK (0 tests) [exec] [exec] BUILD SUCCESSFUL Total time: 16 seconds
成功執行測試,沒有任何測試案例。
下一篇 建立測試案例以及測試 android activity 的模板。