在JavaSE 中我们可以使用Junit 进行单元测试,Android 也提供了单元测试框架供我们使用,不同的
是该框架可以模拟Android 上下文环境,使用起来也稍微复杂点。
我将Android Junit 的使用分为两种情形:
一、在已有的工程中添加单元测试功能
1. 创建一个类继承AndroidTestCase 类。
在该类中编写测试方法即可,如果需要Context,则可以直接在该类中调用getContext()
方法获取,该Context 是AndroidTestCase 模拟的一个上下文。
2. 在AndroidManifest.xml 中添加指令集和测试库
必须为当前的工程添加测试指令集(见文件1-1)和测试库(见文件1-2)才能使用。
【文件1-1】instrumentation 指令集
1. <instrumentation
2. android:name="android.test.InstrumentationTestRunner"
3. android:targetPackage="com.itheima.android.junit" >
4. </instrumentation>
【文件1-2】测试库
1. <uses-library android:name="android.test.runner"/>
注意:
上面两个内容在AndroidManifest.xml 中的位置不同。指令集位于application 节点之外,测试库位于
application 节点之内。
指令集中的android:targetPackage="com.itheima.android.junit" 属性值,指向的是AndroidManifest.xml
中的包名,也可以指向其他工程的包名(这就是第二种使用情形了)。
是该框架可以模拟Android 上下文环境,使用起来也稍微复杂点。
我将Android Junit 的使用分为两种情形:
一、在已有的工程中添加单元测试功能
1. 创建一个类继承AndroidTestCase 类。
在该类中编写测试方法即可,如果需要Context,则可以直接在该类中调用getContext()
方法获取,该Context 是AndroidTestCase 模拟的一个上下文。
2. 在AndroidManifest.xml 中添加指令集和测试库
必须为当前的工程添加测试指令集(见文件1-1)和测试库(见文件1-2)才能使用。
【文件1-1】instrumentation 指令集
1. <instrumentation
2. android:name="android.test.InstrumentationTestRunner"
3. android:targetPackage="com.itheima.android.junit" >
4. </instrumentation>
【文件1-2】测试库
1. <uses-library android:name="android.test.runner"/>
注意:
上面两个内容在AndroidManifest.xml 中的位置不同。指令集位于application 节点之外,测试库位于
application 节点之内。
指令集中的android:targetPackage="com.itheima.android.junit" 属性值,指向的是AndroidManifest.xml
中的包名,也可以指向其他工程的包名(这就是第二种使用情形了)。