我们应当努力奋斗,有所作为。这样,我们就可以说,我们没有虚度年华,并有可能在时间的沙滩上留下我们的足迹。——拿破伦一世
本讲内容:单元测试类
在Android应用开发过程中进行单元测试,个人在做项目的过程中,觉得单元测试很有必要,以保证我们编写程序的正确性。
一、单元测试步骤 :
第一步:在AndroidManifest.xml中的 <application></application>里面添加
<uses-library android:name="android.test.runner" />
第二步:在<application></application>外面添加
<uses-permission android:name="android.permission.RUN_INSTRUMENTATION" />
<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.example.text2"/>
注释:其中的android:targetPackage="com.example.text2"指定的包和
package="com.example.text2">中的package相同即可。
第三步:建立一个单元测试类继承AndroidTestCase
在Android应用开发中有两种方式可以进行单元测试,下面分别展示这两种单元测试的方法:
二、单元测试方式一:应用的工程上进行单元测试
下面是JUnitService类(有个 add方法,计算两个整型数据的和)
public class JUnitService {
public int add(int a,int b) {
return a+b;
}
}
下面是测试包中的MyJnuitTest类( 验证程序结果是否是我们所期望的一致)
public class MyJnuitTest extends AndroidTestCase{
public void testAdd(){
JUnitService s=new JUnitService();
int sum=s.add(1, 2);
Assert.assertEquals(3, sum);
}
}
在AndroidManifest.xml文件中注册
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<span style="color:#ff0000;"> <uses-library android:name="android.test.runner" /></span>
<activity
android:name="demo.TestDemoActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".JUnitService"></activity>
</application>
<span style="color:#ff0000;"><uses-permission android:name="android.permission.RUN_INSTRUMENTATION" />
<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.example.text2"/></span>
</manifest>
打开eclipse中的outline窗口,其中会显示单元测试类的所有的方法然后想要测试哪个方法,则在哪个测试方法上右键鼠标,选择Run As,然后再选择Android JUnit Test即可,如果是正常的,则会如下:
如果有异常或者错误,则会出现如下情况:
三、单元测试方式二:
这种方式更加简单,这种方式是单独创建一个单元测试的工程来进行测试。即创建一个 Android Test Project ,然后选择需要单元测试的项目就好了,通过这种方式进行单元测试的话就不用进行上面的配置,创建这种工程的时候,系统默认已经帮我们配置好了。在上一讲中我们已经详细讲解了。
本讲就到这里,Take your time and enjoy it