我如何使用Robotium来验证我的活动是否正确处理onPause()、onDestroy()、onResume()和类似的调用?
在我的Robotium测试中,我可以调用
solo.getCurrentActivity().onKeyDown(0, null);但是我如何模拟一个被销毁和重新创建的活动呢?我什么也没看到
solo.getCurrentActivity().onPause() 或
solo.getCurrentActivity().onDestroy()我可以使用的方法?这难道不是Robotium设计的目的吗?
发布于 2011-10-21 00:28:43
使用可以访问Instumentation的测试用例基类,然后使用Instrumentation#callActivityOnPause()和Instrumentation#callActivityOnDestroy()。
发布于 2014-01-14 19:47:08
这将销毁您的活动并创建一个新活动:
getInstrumentation().runOnMainSync(new Runnable() {
@Override
public void run() {
activity.recreate();
}
});
setActivity(null);
activity = getActivity();由于调用了"activity.recreate()“,这只适用于API11和更高版本。如果您不关心在此测试中保存/恢复实例状态,则可以调用"activity.finish()“,它在所有版本中都可用。
https://stackoverflow.com/questions/7838197
复制相似问题