Android下如何使用JUnit进行软件测试
TestService类:
1 package com.app.wolf.testService;
2
3 import com.app.wolf.AppService;
4
5 import android.R.integer;
6 import android.test.AndroidTestCase;
7
8 public class TestService extends AndroidTestCase {
9
10 /**
11 * 用JUnit测试randomArray方法
12 * @throws Exception
13 */
14 public void testRandomArray() throws Exception {
15 AppService service=new AppService();
16 int[] resultArray=service.randomArray(2, 7, 6);
17 for(int result:resultArray){
18 System.out.print(result+" ");
19 }
20 }
21
22 }
2、如果直接在outline中对 testRandomArray()方法右击进行Android JUnit Test ,则会曝出以下异常:
“WolfApp does not specify a android.test.InstrumentationTestRunner instrumentation or does not declare uses-library android.test.runner in its AndroidManifest.xml”
这是因为在AndroidManifest.xml中没有对 InstrumentationTestRunner 以及 uses-library 进行配置。
3、对于上面的错误,我们可以在AndroidManifest.xml文件加上以下的代码进行配置:
<!-- 使用该行语句对instrumentation进行配置,但是值得注意的是targetPackage应该选择你想要测试的方法所在的包 -->
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.app.wolf" >
</instrumentation>
<!-- 使用改行代码可以对uses-library进行配置,但是必须放在application节点下 -->
<uses-library android:name="android.test.runner" />
4、对AndroidManifest.xml进行配置好了之后回到第2步对该方法进行Android JUnit Test能够成功执行了。
三、总结
在测试的过程中应该适当地使用断言assert对程序进行测试,这对于检验程序的运行以及检查出错地方具有很有效的用处,但是本测试实验由于输出的为数组,要判断的话应该检查数组中的元素是否为要求的元素,这样检验起来会比较麻烦,所以笔者选择了打印输出的方式进行检验。