在javase/ee 的开发中,我们对业务方法的测试一般使用“main函数”的方法,也可以使用junit的方法。在android环境下,由于程序运行在Dalvik虚拟机上,我们无法在业务类中使用“main函数”的方式进行测试了。
android下junit测试框架,实际上是先把app打包成apk上传到虚拟机,然后给模拟器发送一些指令来完成测试。
第一步:首先在AndroidManifest.xml中加入下面代码:
- <?xml version="1.0" encoding="utf-8"?>
 - <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 - package="hb.learn.junit"
 - android:versionCode="1"
 - android:versionName="1.0">
 - <uses-sdk android:minSdkVersion="8" />
 - <application android:icon="@drawable/icon" android:label="@string/app_name">
 - <!-- 在本应用中导入需要使用的包,放在application里面activity外面 -->
 - <uses-library android:name="android.test.runner" />
 - <activity android:name=".JunitTestActivity"
 - 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>
 - <!-- 记住这个一要放在application外面,不然会出现配置错误 信息 -->
 - <instrumentation android:name="android.test.InstrumentationTestRunner"
 - android:targetPackage="hb.learn.junit" android:label="Tests for My App" />
 - </manifest>
 
上面targetPackage指定的包要和应用的package相同(即AndroidManifest.xml中 manifest节点中的package)。android中,app程序是根据报名区分的。
第二步:编写单元测试代码(选择要测试的方法,右键点击“Run As”--“Android Junit Test” ):
 
[java]
view plain
copy
print
?
    
    
   
  
 
- import android.test.AndroidTestCase;
 - import android.util.Log;
 - public class XMLTest extends AndroidTestCase {
 - public void testSomething() throws Throwable {
 - Assert.assertTrue(1 + 1 == 3);
 
 










