Android Activity单元测试步骤:
1. 添加android单元测试的环境,配置如下(红色部分为添加的android环境配置信息):
配置文件:AndroidManifest.xml
xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.seed.lee.junit" android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<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>
uses-library>
application>
<uses-sdk android:minSdkVersion="9" />
android:targetPackage="com.seed.lee.junit" android:label="android junit test">
manifest>
2. 写单元测试类(继承自ActivityInstrumentationTestCase2)
例子:
package com.seed.lee.junit;
import android.test.ActivityInstrumentationTestCase2;
import android.widget.TextView;
public class HelloAndroidTest extends
ActivityInstrumentationTestCase2
// MainActivity是需要单元测试的android的activity
private MainActivity mActivity;
// TextView是Activity中的一个组件
private TextView mView;
private String resourceString;
// 一个无参构造函数(必须)
public HelloAndroidTest() {
super("com.seed.lee.junit.MainActivity", MainActivity.class);
}
// 复写supper类中的一个方法(初始化Activity使用)
@Override
protected void setUp() throws Exception {
super.setUp();
mActivity = this.getActivity();
mView = (TextView) mActivity.findViewById(R.id.tv);
resourceString = mActivity.getString(R.string.hello);
}
// 单元测试的内容
public void testPreconditions() {
//断言
assertNotNull(mView);
}
public void testText() {
assertEquals(resourceString, (String) mView.getText());
}
}
3. 运行android的单元测试