android Activity单元测试
Android Activity单元测试步骤:
1.添加android单元测试的环境,配置如下(红色部分为添加的android环境配置信息):
配置文件:AndroidManifest.xml
<?xmlversion="1.0"encoding="utf-8"?>
<manifestxmlns:android="http://schemas.android.com/apk/res/android"
package="com.seed.lee.junit"android:versionCode="1"
android:versionName="1.0">
<!--androidjunit用到的配置-->
<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.seed.lee.junit"android:label="android junit test"/>
<applicationandroid:icon="@drawable/icon"android:label="@string/app_name"><!--androidjunit用到的配置-->
<uses-library android:name="android.test.runner"/>
<activityandroid:name=".MainActivity"android:label="@string/app_name">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN"/>
<categoryandroid:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
<uses-sdkandroid:minSdkVersion="9"/>
</manifest>
2.写单元测试类(继承自ActivityInstrumentationTestCase2)
例子:
packagecom.seed.lee.junit;
importandroid.test.ActivityInstrumentationTestCase2;
importandroid.widget.TextView;
publicclassHelloAndroidTestextends
ActivityInstrumentationTestCase2<MainActivity> {
// MainActivity是需要单元测试的android的activity
privateMainActivitymActivity;
// TextView是Activity中的一个组件
privateTextViewmView;
privateStringresourceString;
//一个无参构造函数(必须)
publicHelloAndroidTest() {
super("com.seed.lee.junit.MainActivity", MainActivity.class);
}
//复写supper类中的一个方法(初始化Activity使用)
@Override
protectedvoidsetUp()throwsException {
super.setUp();
mActivity=this.getActivity();
mView= (TextView)mActivity.findViewById(R.id.tv);
resourceString=mActivity.getString(R.string.hello);
}
//单元测试的内容
publicvoidtestPreconditions() {
//断言
assertNotNull(mView);
}
publicvoidtestText() {
assertEquals(resourceString, (String)mView.getText());
}
}
3.运行android的单元测试
上面配置文件中
MainActivity为android程序入口,请自已新建代码略
<uses-libraryandroid:name="android.test.runner"/>不可修改
android:name="android.test.InstrumentationTestRunner不可修改
android:label="Testing"可不写
如出现Test run failed:Unable to find instrumentation target package
是因为 android:targetPackage="com.neter.test.dao"必须和
<manifestxmlns:android="http://schemas.android.com/apk/res/android"
package="com.neter.test.dao"
package相同的包名
更多相关文章
- 修改android Launcher
- Android开发工具配置大全
- SystemUI流程分析
- Android(安卓)多版本多渠道打包
- (亲测可用!!)android studio 编译 'com.android.support:support-v4'
- Android上调用google map api v2
- 怎么给Android(安卓)控件添加边框(样式)?
- RecyclerView初级使用
- ListView中添加Button后,Button的点击事件和ListView的点击事件冲