且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Android学习笔记:对Android应用进行单元测试

更新时间:2022-08-16 08:37:23



第一步:在AndroidManifest.xml中加入如下两段代码:

  1. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  2.       package="com.pccw"  
  3.       android:versionCode="1"  
  4.       android:versionName="1.0">  
  5.     <uses-sdk android:minSdkVersion="8" />  
  6.   
  7.     <application android:icon="@drawable/icon" android:label="@string/app_name">  
  8.         <activity android:name=".MainActivity"  
  9.                   android:label="@string/app_name">  
  10.             <intent-filter>  
  11.                 <action android:name="android.intent.action.MAIN" />  
  12.                 <category android:name="android.intent.category.LAUNCHER" />  
  13.             </intent-filter>  
  14.         </activity>  
  15.         <!—添加代码1-->  
  16.         <uses-library android:name="android.test.runner"/>  
  17. </application>  
  18.     <!—添加代码2-->  
  19.         <instrumentation android:name="android.test.InstrumentationTestRunner"  
  20.             android:targetPackage="com.pccw" android:label="aaa"/>  
  21. </manifest>  
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.pccw"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="8" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <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>
        <!—添加代码1-->
		<uses-library android:name="android.test.runner"/>
</application>
    <!—添加代码2-->
		<instrumentation android:name="android.test.InstrumentationTestRunner"
			android:targetPackage="com.pccw" android:label="aaa"/>
</manifest>

 

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

2.         < instrumentation android:name="android.test.InstrumentationTestRunner"android:targetPackage="com.pccw" android:label="aaa"/>代表配置单元测试框架的启动装置,启动装置有好几个类,可以选择,一般情况下我们使用上面这个。

3.         targetPackage与上面的package相同,代表单元测试框架和当前应用是处于同一个进程中

 

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

  1. public class PersonService {  
  2.       
  3.     public void save(String name){  
  4.         String sub = name.substring(6);  
  5.     }  
  6.       
  7.     public int add(int a, int b){  
  8.         return a+b;  
  9.     }  
  10. }  
public class PersonService {
	
	public void save(String name){
		String sub = name.substring(6);
	}
	
	public int add(int a, int b){
		return a+b;
	}
}


 

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

  1. public class PersonServiceTest extends AndroidTestCase {  
  2.       
  3.     public void testSave() throws Exception {  
  4.         PersonService service = new PersonService();  
  5.         service.save(null);  
  6.     }  
  7.       
  8.     public void testAdd() throws Exception {  
  9.         PersonService service = new PersonService();  
  10.         int result = service.add(12);  
  11.         Assert.assertEquals(3, result);  
  12.     }  
  13. }  
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);
	}
}


 

第四步:打开eclipse中的outline窗口,其中会显示单元测试类的所有的方法

Android学习笔记:对Android应用进行单元测试

 

然后想要测试哪个方法,则在哪个测试方法上右键鼠标,选择Run As,然后再选择Android JUnit Test即可,如果有异常或者错误,则会出现如下情况:

Android学习笔记:对Android应用进行单元测试

 

如果是正常的,则会如下:

Android学习笔记:对Android应用进行单元测试