JUnit
在Android中使用JUnit測試大致分如下幾個步驟:
- 在AndroidManifest.xml中增加對JUnit的支持,并制定測試項目包。
- 在AndroidManifest.xml中<application.../>節點中增加一個<uses-library...>節點,name屬性為android.test.runner。
- 在編寫待測試方法后,新建一個類,繼承AndroidTestCase,在其中編寫測試用例代碼。
- 鼠標左鍵在測試用例方法上,RunAs→AndroidJUnitTest。
下面就上面幾個步驟,詳細講解一下,新建一個Android項目,在AndroidManifest.xml中,添加一個Instrumentation:
指定Instrumentation的name與TargetPackage:
在<application.../>節點中增加<uses-libraryandroid:name="android.test.runner"/>
完成后AndroidManifest.xml代碼如下:
1<?xmlversion="1.0"encoding="utf-8"?>2<manifestxmlns:android="http://schemas.android.com/apk/res/android"3package="com.example.junittestdemo"4android:versionCode="1"5android:versionName="1.0">67<uses-sdk8android:minSdkVersion="8"9android:targetSdkVersion="17"/>1011<instrumentation12android:name="android.test.InstrumentationTestRunner"13android:targetPackage="com.example.junittestdemo">14</instrumentation>1516<application17android:allowBackup="true"18android:icon="@drawable/ic_launcher"19android:label="@string/app_name"20android:theme="@style/AppTheme">21<uses-libraryandroid:name="android.test.runner"/>2223<activity24android:name="com.example.junittestdemo.MainActivity"25android:label="@string/app_name">26<intent-filter>27<actionandroid:name="android.intent.action.MAIN"/>2829<categoryandroid:name="android.intent.category.LAUNCHER"/>30</intent-filter>31</activity>32</application>3334</manifest>編寫一個簡單的進度百分比計算方法:
1packagecom.example.service;23publicclassProgressService{4publicProgressService(){56}7publicIntegergetCurrentProgerss(doublecurrent,doublemax){8Integeri=(int)((current/max)*100);9returni;10}11}編寫一個測試類,這個類需要繼承AndroidTestCase,針對百分比方法進行測試:
1packagecom.example.junit;23importandroid.test.AndroidTestCase;4importandroid.util.Log;567importcom.example.service.ProgressService;89publicclassProgressServiceJUnitextendsAndroidTestCase{10privatefinalStringTAG="main";1112publicProgressServiceJUnit(){13//TODOAuto-generatedconstructorstub14}1516publicvoidgetCurrentProgerssTest(){17ProgressServiceprogressService=newProgressService();18Integerpro=progressService.getCurrentProgerss(20,70);19Log.i(TAG,pro.toString());20}21}左鍵getCurrentProgerssTest()方法,選中AndroidJUnitTest,如果需要調試,可以選擇DebugAs下的AndroidJUnitTest:
當執行成功后,會顯示綠色,如果是其他顏色,則為出錯:
可以在LogCat日志中看到測試結果: