现在的位置: 首页 > 综合 > 正文

android应用的单元测试

2014年01月28日 ⁄ 综合 ⁄ 共 2014字 ⁄ 字号 评论关闭

首先配置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">保持一致
单元测试可以和应用不在同一个包下。

抱歉!评论已关闭.