一、建立普通Android項目
二、在AndroidManifest.xml添加兩個配置
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"package="cn.xy.app" android:versionCode="1" android:versionName="1.0"><application android:icon="@drawable/icon" android:label="@string/app_name"><!-- 引入單元測試依賴庫 --><uses-library android:name="android.test.runner" /><activity android:name=".MainActivity" android:label="@string/app_name"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application><uses-sdk android:minSdkVersion="8" /><!-- 登錄區測試架構啟動裝置 --><!-- android:targetPackage理解為測試專案部署在哪個Activity,而不是測試類別所在包 --><instrumentation android:name="android.test.InstrumentationTestRunner"android:targetPackage="cn.xy.app" android:label="xy_test" /></manifest>
<uses-library android:name="android.test.runner" />
引入測試相關類庫
<instrumentation android:name="android.test.InstrumentationTestRunner"android:targetPackage="cn.xy.app" android:label="xy_test" />
登錄區測試架構啟動裝置
三、編寫測試代碼
package cn.xy.test;import junit.framework.Assert;import android.test.AndroidTestCase;import cn.xy.service.PersonService;public class TestClass extends AndroidTestCase{public void testSave() throws Exception{PersonService ps = new PersonService();ps.save();}public void testGetPerson() throws Exception{PersonService ps = new PersonService();String name = ps.getPersonName();Assert.assertEquals("xy", name);}}
測試類別要繼承AndroidTestCase類,測試方法要以test開頭。
注意到該測試類別放在cn.xy.test包下,而不是cn.xy.app下,並不影響,印證了android:targetPackage理解為測試專案部署在哪個Activity,而不是測試類別所在包。
四、運行
直接將滑鼠放在方法上郵寄Run AS——>Android Junit Test,會被部署到手機上作為一個Activity運行,方法啟動並執行結果仍然以紅條或者綠條顯示,很以前純Junit一樣。
五、總結
這是一種方式,還可以直接建立Android Test Project。