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。

 http://blog.sina.com.cn/s/blog_67aaf44401015tqm.html

posted on 2013-08-09 08:43  chen110xi  阅读(206)  评论(0编辑  收藏  举报