【发布时间】:2011-07-11 12:02:42
【问题描述】:
我在为我的应用编写测试用例时遇到问题。
首先,我可能会告诉您该应用程序是如何工作的。第一个屏幕是登录屏幕,成功登录后,将显示一个新活动并将用户凭据保存到 SharedPreferences 以便当活动再次启动且用户尚未注销时,应用程序将在第二个活动屏幕上启动。
我想通过登录测试第一个活动。我的主要问题是如何测试成功登录。如果登录名和密码有效,则创建新活动的意图并启动新活动。我的这个方法的代码如下所示:
public void testLoginValid() throws Throwable {
for(index = 0; index < validEmails.length; index++) {
runTestOnUiThread(new Runnable() {
@Override
public void run() {
emailEditView.setText(validEmails[index]);
passwordEditView.setText(defaultPassword);
logIn.performClick();
}
});
getInstrumentation().waitForIdleSync();
//how to check if the activity started and how to go back?
}
}
这是测试这种情况的好方法吗?问题是当登录有效并且它登录时,其余的测试用例挂起,因为活动活动已经改变,我不知道如何模拟它的完成是这样的。这个怎么做?或者也许我应该为每个登录编写方法(但我认为这不是一个好习惯......)。提前感谢您的帮助。
【问题讨论】:
标签: android unit-testing testing junit