ini*_*lxy 8 junit android android-activity
我正在尝试使用ActivityInstrumentationTestCase2为登录活动运行多个测试用例.第一个测试用例测试登录成功,这会导致Activity通过调用startActivity(Intent intent)启动下一个Activity.现在,我正在尝试测试的Activity上有另一个Activity.第一个测试用例通过,第二个测试用例启动.但是当它被第二个测试用例调用时,它将永远挂在getActivity()上.
如果我进入我的登录Activity的代码并注释掉调用startActivity(Intent intent)的部分,那么两个测试用例都将成功运行.
我已经尝试了一些东西.我使用Intent.FLAG_ACTIVITY_CLEAR_TOP来清除Activity堆栈.在这种情况下,顶部活动被关闭,并且显示登录活动,但是当第二个测试用例启动时它仍然停留在getActivity().
我也试过sendKeys(KeyEvent.KEYCODE_BACK),但是没有效果.
我该怎么做才能克服这个问题?谢谢!
getInstrumentation().addMonitor(NextActivity.class.getName(), null, true);
Run Code Online (Sandbox Code Playgroud)
成功了。请注意,最后一个参数是一个标志,指示是否阻止 Activity 启动。将其设置为 true 解决了问题。