android-单元测试(Android JUnit Test)

第一步:在AndroidManifest.xml文件中添加<uses-library  android:name="android.test.runner"/>和instrumentation


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android_sdcard"
    android:versionCode="1"
    android:versionName="1.0" >
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />
    <!-- 单元测试 代码1-->
    <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.android_sdcard"></instrumentation>
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <!-- 单元测试 代码2-->
        <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>

</manifest>
1.<uses-library  android:name="android.test.runner"/>代表单元测试框架中引入一些依赖库

2. <instrumentation android:name="android.test.InstrumentationTestRunner"android:targetPackage="com.example.android_sdcard"></instrumentation>

代表配置单元测试框架的启动装置,启动装置有好几个类,一般情况下使用上面这一个,

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android_sdcard"
3.android:targetPackage必须和<manifest xmlns:android="http://schemas.android.com/apk/res/android"  package="com.example.android_sdcard"中的package

值相同,表示党员测试框架和当前应用处于同一个进程中


第二步:编写业务逻辑,即需要被测试的程序模块

public class PersonService {
	
	public void save(String name){
		String sub = name.substring(6);
	}
	
	public int add(int a, int b){
		return a+b;
	}
}

第三步:编写单元测试代码

public class PersonServiceTest extends AndroidTestCase {
	
	public void testSave() throws Exception {
		PersonService service = new PersonService();
		service.save(null);
	}
	
	public void testAdd() throws Exception {
		PersonService service = new PersonService();
		int result = service.add(1, 2);
		Assert.assertEquals(3, result);
	}
}

第四步:右键选中单元测试代码中需要测试的方法,选择Android JUnit Test进行测试,如果有异常会在JUnit 视图中显示出来


你可能感兴趣的:(android)