使用 Espresso,我尝试使用 Home 按钮测试将 Activity 发送到后台,然后再次将其置于前台进行一些检查:
@EspressoTest
public void test() {
onSomeView().check(matches(isDisplayed()));
getInstrumentation().sendKeyDownUpSync(KeyEvent.KEYCODE_HOME);
Context context = getInstrumentation().getTargetContext();
Intent intent = new Intent(context, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
onSomeView().check(matches(isDisplayed()));
}
我必须使用intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
由异常建议的,但除此之外我还测试了,将其作为启动器活动启动,或使用
FLAG_ACTIVITY_REORDER_TO_FRONT
,但视图不可见。即使测试通过了。