【发布时间】:2012-07-27 18:27:33
【问题描述】:
我正在尝试使用 ActivityInstrumentationTestCase2 为登录 Activity 运行多个测试用例。第一个测试用例测试登录成功,这会导致 Activity 通过调用 startActivity(Intent intent) 启动下一个 Activity。现在,在我要测试的 Activity 之上还有另一个 Activity。第一个测试用例通过,启动第二个测试用例。但是,当它被第二个测试用例调用时,它将永远挂在 getActivity() 处。
如果我进入我的登录Activity的代码并注释掉调用startActivity(Intent intent)的部分,那么两个测试用例都会成功运行。
我已经尝试了一些方法。我使用 Intent.FLAG_ACTIVITY_CLEAR_TOP 来清除 Activity 堆栈。在这种情况下,top Activity 被关闭,并且 login Activity 被显示出来,但是当第二个测试用例启动时它仍然卡在 getActivity() 处。
我也尝试过发送Keys(KeyEvent.KEYCODE_BACK),但是没有效果。
我能做些什么来克服这个问题?谢谢!
【问题讨论】:
-
getInstrumentation().addMonitor(NextActivity.class.getName(), null, true);成功了!
标签: android junit android-activity