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。

 

上一篇:利用pig分析cdn访问日志内指定时间段的url访问次数


下一篇:Android开发2——创建测试项目