Android开发系列(四):如何对应用进行单元测试

在开发一个应用的过程中,必不可少要进行对应的单元测试。

接下来我们编写一个简单的Android应用程序来完成基础的单元测试


首先,我们需要建立一个Android Project项目,命名为junit。

然后,建立一个服务类,就是需要被测试的类PersonService.java:

package cn.itcast.service;

public class PersonService {
	public void save(String username){
		String sub = username.substring(6);	
	}	
	public int add(int a,int b){
		return a+b;
	}
}
在这个类中我们要测试两个方法save(String username)和add(int a,int b)。

接下来,我们需要配置AndroidManifest.xml这个文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"  package="cn.itcast.files"  android:versionCode="1"  android:versionName="1.0" >
    <uses-sdk android:minSdkVersion="14" />
    <application android:icon="@drawable/ic_launcher"  android:label="@string/app_name" >
        
        <!--用于引入测试库,必须放在application标签里边-->
        <uses-library android:name="android.test.runner" />
        <activity android:label="@string/app_name" android:name=".FileActivity" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <!-- 表示被测试的目标包与instrementation的名称,放在application外边 -->
	<instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="cn.itcast.files"  />
</manifest>
只有在配置之后我们才能够正确使用测试类。


现在,我们可以开始测试了。

建立一个测试类PersonServiceTest.java,继承AndroidTestCase类:

package cn.itcast.junit;

import junit.framework.Assert;
import cn.itcast.service.PersonService;
import android.test.AndroidTestCase;

public class PersonServiceTest extends AndroidTestCase {
	
	public void testSave() throws Exception{
		PersonService service = new PersonService();
		service.save("123123");
	}
	
	public void testAdd() throws Exception{
		PersonService service = new PersonService();
		int actual = service.add(1, 2);
		Assert.assertEquals(3, actual);
	}
}
在我们测试类建立好了之后,我们需要做的就是测试这两个方法能不能够正确运行:

打开大纲视图——>选择要测试的方法——>Run as——>Android JUnit Test:

我们就可以在JUnit界面查看程序是否能够正常运行。



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。