将多个“testXXX()”函数放入 Android UnitTest Class
Put multiple “testXXX()” functions in a Android UnitTest Class
我通过 Robotium(一种有助于测试 UI 的支持工具)制作了 Android 单元测试。当一个测试 class 仅包括一个 “testXXX()” 函数,当我将多个“testXXX()”函数放在 Android UnitTest Class 中时,它是 successful.But。
我想一个一个执行这些功能,直到所有测试功能都成功结束,但是一个一个发生错误,以至于无法成功完成测试任务。
我知道当测试完成时,它会执行 super.tearDown()
。所以我删除了它,但没有用。
public class TestServerMonitor extends ActivityInstrumentationTestCase2<ServerMonitorActivity> {
private Solo solo;
private SharedPreferences mSharedPreferences;
private long nowTime;
private long installTime;
private String version;
public TestServerMonitor() {
super(ServerMonitorActivity.class);
}
public void setUp() throws Exception {
super.setUp();
solo = new Solo(getInstrumentation());
getActivity();
mSharedPreferences = getActivity().getSharedPreferences(com.luckyxmobile.servermonitor.
activity.SettingsActivity.PREFS_NAME,
0);
//current time
nowTime = System.currentTimeMillis();
//install time
installTime = mSharedPreferences.getLong(
ServerMonitor.INSTALL_TIME, nowTime);
//get version
try {
version = getActivity().getPackageManager().
getPackageInfo(getActivity().getPackageName(), 0).versionName;
} catch (Exception e) {
version = null;
e.printStackTrace();
}
}
@Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();
super.tearDown();
}
public void testAddServer() {
......
}
public void testAddWebsite() {
......
}
public void testEditServer() {
......
}
public void testEditWebSite() {
......
}
}
添加solo.goBackActivity("activity 's name")
,有效
我通过 Robotium(一种有助于测试 UI 的支持工具)制作了 Android 单元测试。当一个测试 class 仅包括一个 “testXXX()” 函数,当我将多个“testXXX()”函数放在 Android UnitTest Class 中时,它是 successful.But。
我想一个一个执行这些功能,直到所有测试功能都成功结束,但是一个一个发生错误,以至于无法成功完成测试任务。
我知道当测试完成时,它会执行 super.tearDown()
。所以我删除了它,但没有用。
public class TestServerMonitor extends ActivityInstrumentationTestCase2<ServerMonitorActivity> {
private Solo solo;
private SharedPreferences mSharedPreferences;
private long nowTime;
private long installTime;
private String version;
public TestServerMonitor() {
super(ServerMonitorActivity.class);
}
public void setUp() throws Exception {
super.setUp();
solo = new Solo(getInstrumentation());
getActivity();
mSharedPreferences = getActivity().getSharedPreferences(com.luckyxmobile.servermonitor.
activity.SettingsActivity.PREFS_NAME,
0);
//current time
nowTime = System.currentTimeMillis();
//install time
installTime = mSharedPreferences.getLong(
ServerMonitor.INSTALL_TIME, nowTime);
//get version
try {
version = getActivity().getPackageManager().
getPackageInfo(getActivity().getPackageName(), 0).versionName;
} catch (Exception e) {
version = null;
e.printStackTrace();
}
}
@Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();
super.tearDown();
}
public void testAddServer() {
......
}
public void testAddWebsite() {
......
}
public void testEditServer() {
......
}
public void testEditWebSite() {
......
}
}
添加solo.goBackActivity("activity 's name")
,有效