一、创建普通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。
本文转自IT徐胖子的专栏博客51CTO博客,原文链接http://blog.51cto.com/woshixy/1075462如需转载请自行联系原作者
woshixuye111