我们有如下的业务类:
package com.mxy.service;
public class CalcService {
public int add(int a,int b) {
System.out.println("执行了加方法");
return a + b;
}
}
下面我们就可以编写一个测试类,如下:
package com.mxy.test;
import com.mxy.service.CalcService;
import android.test.AndroidTestCase;
public class CalcServiceTest extends AndroidTestCase {
public void testAdd() {
CalcService cal = new CalcService();
int result = cal.add(5,3);
System.out.println(result);
assertEquals(8, result);
}
}
这时候我们可以在项目上点击Run As---->Android Junit Test,这时候会将我们开发的app,安装到手机或者模拟器上,然后运行我们的测试用例。很不幸这时候我们会出现如下的错误:
01_junit does not specify a android.test.InstrumentationTestRunner instrumentation or does not declare uses-library android.test.runner in its AndroidManifest.xml这是因为我们还有写地方没有配置,这时候我们打开我们的AndroidMainfest.xml,添加如下红色(由于红色无法正常显示,这里表示<span style="color:#ff0000;">包围的代码)代码:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mxy"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.mxy"
android:label="your tests label" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<uses-library android:name="android.test.runner" />
<activity
android:name="com.mxy.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>
这时候我们再重新运行一下,会出现跟使用junit类似的界面。
可能大家感觉这样写起来太费劲,一个是需要自己添加AndroidMainfest.xml里面的代码,另外一个等到程序发布的时候还得删除测试代码(当然如果不删除也没问题,只是apk的包会大一点),这时候我们就可以直接建立一个Android Test Project。我们可以点击新建---->Android Test Project,然后根据向导选择已经存在的工程。建立好工程后,我们就可以直接新建测试用例了。
例子工程下载地址:http://download.csdn.net/detail/mengxiangyue/6997545
转载请注明出处:http://blog.csdn.net/mengxiangyue
Android自学笔记-7-Android中的junit,布布扣,bubuko.com
原文:http://blog.csdn.net/mengxiangyue/article/details/20568433