我通过 Robotium (一种有助于测试用户界面的支持工具)制作Android UnitTest。当一个Test类只包含一个“testXXX()”函数时,它是但是当我在Android UnitTest Class中放置多个“testXXX()”函数时
我希望这些函数一个接一个地被执行,直到所有测试函数都结束成功,但是错误一个接一个地发生,因此测试任务无法成功完成。
我知道,当测试完成后,它会执行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() {
......
}
}
答案 0 :(得分:0)
添加solo.goBackActivity("activity 's name")
,它可以正常工作