Android开发2——创建测试项目
一、创建普通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。