对Android应用进行单元测试
16lz
2021-12-04
对Android应用进行单元测试 首先配置AndroidManifest.xml <? xmlversion="1.0"encoding="utf-8" ?>
< manifest xmlns:android ="http://schemas.android.com/apk/res/android"
package ="com.zhy.test"
android:versionCode ="1"
android:versionName ="1.0" >
< uses-sdk android:minSdkVersion ="8" />
<!--
设置instrumentation
android:name="android.test.InstrumentationTestRunner"固定值
android:targetPackage="com.zhy.test"android:targetPackage和manifest中的包名一致
-->
< instrumentation
android:name ="android.test.InstrumentationTestRunner"
android:targetPackage ="com.zhy.test" />
< application
android:icon ="@drawable/ic_launcher"
android:label ="@string/app_name" >
<!-- 指定Android做单元测试用到的library -->
< uses-library android:name ="android.test.runner" />
</ application >
</ manifest >
android:name="android.test.InstrumentationTestRunner"固定值
android:targetPackage="com.zhy.test" android:targetPackage和manifest中的包名一致
在<application>节点下指定Android做单元测试用到的library
<uses-library android:name="android.test.runner" />
编写Android单元测试类 package com.zhy.test;
import android.test.AndroidTestCase;
import android.util.Log;
public class JunitTest extends AndroidTestCase{
@Override
protected void setUp() throws Exception{
Log.i( " JunitTest " , " ---------setUp()--------- " );
super .setUp();
}
@Override
protected void tearDown() throws Exception{
Log.i( " JunitTest " , " ---------tearDown()--------- " );
super .tearDown();
}
public void testJunit() throws Exception{
Log.i( " JunitTest " , " ---------testJunit()--------- " );
}
} 其中setUp()和tearDown()方法用意跟junit中的作用一样
注意用作单元测试的方法要声明为public否则不能被调用到
其方法原型为:
public void 方法名() throws Exception {
//do somthing
}
这里方法的名字可以不必以test开头
注意:
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.zhy.weather"
android:label="Android TestCase"
>
中android:targetPackage="com.zhy.weather" android:targetPackage必须和<manifest package="com.zhy.weather">保持一致
单元测试可以和应用不在同一个包下。
< manifest xmlns:android ="http://schemas.android.com/apk/res/android"
package ="com.zhy.test"
android:versionCode ="1"
android:versionName ="1.0" >
< uses-sdk android:minSdkVersion ="8" />
<!--
设置instrumentation
android:name="android.test.InstrumentationTestRunner"固定值
android:targetPackage="com.zhy.test"android:targetPackage和manifest中的包名一致
-->
< instrumentation
android:name ="android.test.InstrumentationTestRunner"
android:targetPackage ="com.zhy.test" />
< application
android:icon ="@drawable/ic_launcher"
android:label ="@string/app_name" >
<!-- 指定Android做单元测试用到的library -->
< uses-library android:name ="android.test.runner" />
</ application >
</ manifest >
android:name="android.test.InstrumentationTestRunner"固定值
android:targetPackage="com.zhy.test" android:targetPackage和manifest中的包名一致
在<application>节点下指定Android做单元测试用到的library
<uses-library android:name="android.test.runner" />
编写Android单元测试类 package com.zhy.test;
import android.test.AndroidTestCase;
import android.util.Log;
public class JunitTest extends AndroidTestCase{
@Override
protected void setUp() throws Exception{
Log.i( " JunitTest " , " ---------setUp()--------- " );
super .setUp();
}
@Override
protected void tearDown() throws Exception{
Log.i( " JunitTest " , " ---------tearDown()--------- " );
super .tearDown();
}
public void testJunit() throws Exception{
Log.i( " JunitTest " , " ---------testJunit()--------- " );
}
} 其中setUp()和tearDown()方法用意跟junit中的作用一样
注意用作单元测试的方法要声明为public否则不能被调用到
其方法原型为:
public void 方法名() throws Exception {
//do somthing
}
这里方法的名字可以不必以test开头
注意:
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.zhy.weather"
android:label="Android TestCase"
>
中android:targetPackage="com.zhy.weather" android:targetPackage必须和<manifest package="com.zhy.weather">保持一致
单元测试可以和应用不在同一个包下。
更多相关文章
- Android(安卓)O 版本(Android(安卓)8.0) 存储空间不足时提醒
- Android(安卓)TV listView焦点平滑移动
- Android单元测试学习记录
- 异常处理
- Android(安卓)SDK Manager无法更新解决方法
- android 属性动画
- android中常见的二种数据解析方法----XML和Json
- Android--用SAX解析xml文件
- 删除android ScrollView边界阴影方法