您的位置:首页 > 移动开发 > Android开发

对Android应用进行单元测试

2012-04-08 08:30 204 查看
首先配置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">保持一致

单元测试可以和应用不在同一个包下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: