第一步:在AndroidManifest.xml文件中添加<uses-library android:name="android.test.runner"/>和instrumentation
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android_sdcard" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="21" /> <!-- 单元测试 代码1--> <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.example.android_sdcard"></instrumentation> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <!-- 单元测试 代码2--> <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> </manifest>1.<uses-library android:name="android.test.runner"/>代表单元测试框架中引入一些依赖库
2. <instrumentation android:name="android.test.InstrumentationTestRunner"android:targetPackage="com.example.android_sdcard"></instrumentation>
代表配置单元测试框架的启动装置,启动装置有好几个类,一般情况下使用上面这一个,
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android_sdcard"3.android:targetPackage必须和<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android_sdcard"中的package
值相同,表示党员测试框架和当前应用处于同一个进程中
第二步:编写业务逻辑,即需要被测试的程序模块
public class PersonService { public void save(String name){ String sub = name.substring(6); } public int add(int a, int b){ return a+b; } }
public class PersonServiceTest extends AndroidTestCase { public void testSave() throws Exception { PersonService service = new PersonService(); service.save(null); } public void testAdd() throws Exception { PersonService service = new PersonService(); int result = service.add(1, 2); Assert.assertEquals(3, result); } }