我正在尝试编写一个 Android 活动插桩测试,以停止当前活动(onPause()
,然后 onStop()
)并重新启动。我尝试过:
activity.finish();
activity = getActivity();
...但似乎无法正常工作。
测试的目标是断言在onPause()
方法期间存储了表单数据,并在onStart()
方法期间重新读取数据。手动执行时可行,但测试失败,由此我得出结论:activity.finish()
似乎是停止和重启活动的错误方式。
编辑:我的主要问题似乎是同步问题。重新启动活动后,测试运行程序没有等待所有事件处理程序完成。以下行会暂停测试执行,直到活动处于空闲状态:
getInstrumentation().waitForIdleSync()
除此之外,查看被接受的答案以获取更有价值的关于生命周期的信息。