![](/img/trans.png)
[英]How to redirect a activity to its previous activity when home button is clicked
[英]Robotium: verify that activity gets finished and the underlying one restored when “home” button clicked
我正在使用Android批注,并且在“活动”中有以下代码:
@OptionsItem
void homeSelected() {
finish();
}
显然,当用户单击ActionBar中的主页按钮时,此代码应完成当前活动。 但是如何测试此代码? 我希望能够以某种方式验证单击主页按钮后,当前活动已完成,并且先前的活动已还原。 这可能吗? 或者至少可以验证单击“主页”按钮后是否调用了homeSelected
方法?
我正在使用Robotium,并且具有以下测试方法:
@SmallTest
public void testGoBack() {
solo.clickOnActionBarHomeButton();
// ???? How do I verify the homeSelected method was actually called?
}
您可以使用waitForActivity(...)
。
waitForActivity(Class<? extends android.app.Activity> activityClass)
等待与指定类匹配的Activity。
查看文档 。
@SmallTest
public void testGoBack() {
solo.clickOnActionBarHomeButton();
solo.waitForActivity(com.example.UpActivity.class);
}
默认例程使用20秒超时。
ps:或者将调试日志添加到您活动的onDestroy()
方法中:
public class MyActivity extends Activity {
...
@Override
protected void onDestroy() {
super.onDestroy();
Log.d ("TAG", "Finishing MyActivity");
}
}
并在测试方法中等待以下日志消息:
waitForLogMessage("Finishing MyActivity");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.