首先配置AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.zhy.test"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<!--
设置instrumentation
android:name="android.test.InstrumentationTestRunner"固定值
android:targetPackage="com.zhy.test" android:targetPackage和manifest中的包名一致
-->
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.zhy.test" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<!-- 指定Android做单元测试用到的library -->
<uses-library android:name="android.test.runner" />
</application>
</manifest>
android:name="android.test.InstrumentationTestRunner"固定值
android:targetPackage="com.zhy.test" android:targetPackage和manifest中的包名一致
在<application>节点下指定Android做单元测试用到的library
<uses-library android:name="android.test.runner" />
编写Android单元测试类
package com.zhy.test;
import android.test.AndroidTestCase;
import android.util.Log;
public class JunitTest extends AndroidTestCase {
@Override
protected void setUp() throws Exception {
Log.i("JunitTest", "---------setUp()---------");
super.setUp();
}
@Override
protected void tearDown() throws Exception {
Log.i("JunitTest", "---------tearDown()---------");
super.tearDown();
}
public void testJunit() throws Exception {
Log.i("JunitTest", "---------testJunit()---------");
}
}
其中setUp()和tearDown()方法用意跟junit中的作用一样
注意用作单元测试的方法要声明为public否则不能被调用到
其方法原型为:
public void 方法名() throws Exception {
//do somthing
}
这里方法的名字可以不必以test开头
注意:
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.zhy.weather"
android:label="Android TestCase"
>
中android:targetPackage="com.zhy.weather" android:targetPackage必须和<manifest package="com.zhy.weather">保持一致
单元测试可以和应用不在同一个包下。