将多个“testXXX()”函数放入Android UnitTest类中

时间:2016-01-07 09:12:35

标签: android unit-testing robotium testcase android-instrumentation

我通过 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() {
    ......
}

}

1 个答案:

答案 0 :(得分:0)

添加solo.goBackActivity("activity 's name"),它可以正常工作

相关问题