一、创建普通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。