对Android应用进行单元测试

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

你可能感兴趣的:(对Android应用进行单元测试)