假設(shè)你正在編寫Android服務(wù)代碼,而且,又要時不時的重構(gòu)代碼,那么,有效的方式是添加自動測試用例。在寫過一個簡單的sample以后,發(fā)現(xiàn)確實很容易,下面我google的一些資料,關(guān)于如何在Android上自動測試類,通常是下面的服務(wù)類。有一點值得提的是,測試的速度比較慢,畢竟是在仿真器上運行的緣故。
1.Test Drived Develop, http://baike.baidu.com/view/76310.htm
TDD的基本思路是通過測試來推動整個開發(fā)的進行,但測試驅(qū)動開發(fā)并不只是單純的測試工作,而是把需求分析,設(shè)計,質(zhì)量控制量化的過程。
2.Eclipse下使用JUNIT,http://down.dns.sh.cn/article/236/285/2005/200509128774.asp
3.Android下的測試:
Android---jUnit測試環(huán)境,http://tdq222.javaeye.com/blog/700390
android中junit測試類的編寫,http://wangjun.easymorse.com/?p=238
Android、JUnit深入淺出(六)——如何運行單元測試?http://www.moandroid.com/?p=1223
自動測試的大致步驟如下:
3.1添加繼承AndroidTestCase的TestCase類,并添加要測試的代碼,可以添加任意函數(shù),如testHello(),該函數(shù)會被測試框架自動執(zhí)行。
3.2在manifest中添加相關(guān)代碼:
1: "1.0" encoding="utf-8"?>
2: "http://schemas.android.com/apk/res/android"
3: package="com.hello"
4: android:versionCode="1"
5: android:versionName="1.0">
6: "@drawable/icon" android:label="@string/app_name">
7: "android.test.runner" />
8: ".HelloActivity"
9: android:label="@string/app_name">
10:
11: "android.intent.action.MAIN" />
12: "android.intent.category.LAUNCHER" />
13:
14:
15:
16: "android.test.InstrumentationTestRunner"
17: android:targetPackage="com.hello"
18: android:label="Tests for My App" />
19: "android.permission.ACCESS_NETWORK_STATE" />
20: "android.permission.READ_CONTACTS" />
21: "android.permission.WRITE_CONTACTS" />
22:
注意:主要在Application節(jié)點下添加users-library節(jié)點,以及instrumentation節(jié)點。而且,instrumentation的android:targetPackage的值要和manifest的package屬性一樣。