第一步在项目中的AndroidManifest.xml中加入以下代码:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.jluzhsoft.test"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<!-- 1.引入单元测试库 -->
<uses-library android:name="android.test.runner" />
<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>
</application>
<!-- 引入单无测试框界的入口类,targetPackage指明应用包(即与应用包名相同) -->
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:label="Test for My App"
android:targetPackage="com.jluzhsoft.test" >
</instrumentation>
</manifest>
第二步:
①建相应的测试包,一般统一为"------.test"包,包中类的命名为"------Test",类继承 AndroidTestCase
eg:如建包"com.jluzhsoft.test", 要测试的方法位于"PersonService", 所以类命名为"PersonServiceTest"
②接下来写PersonServiceTest中的内容,测试方法也有命名要求,必须以"test+测试方法名"
eg:测试PersonService中的save方法,则命名为"testSave"
public void save()
{
String in="aaa";
int b=new Integer(in);
}
public void testSave() throws Throwable
{
PersonService personService=new PersonService();
personService.save();//检验save方法是否运行正确
}
在写上面方法时,要抛出异常,因为测试代码也可能出错,抛出的错误由单元测试框架处理并报错。
③接下来让我们看如何运行测试
在outline中找到测试类中要测试的方法,点右键Run AS ,然后选择 Android JUnit Test
运行后会出现以下效果:
④可以用断言的方式来判断返回值是否是我们预期的结果,从而可以检查一些逻辑错误
public int save()
{
String in="78";
int b=new Integer(in);
return b;
}
public void testSave() throws Throwable
{
PersonService personService=new PersonService();
int b=personService.save();//检验save方法返回是我们想要的
Assert.assertEquals(58, b);//期望值与实际值比较
}