【发布时间】:2012-04-24 10:26:16
【问题描述】:
我正在尝试编写一个停止(onPause(),然后是onStop())并重新启动当前活动的 Android 活动检测测试。我试过了
activity.finish();
activity = getActivity();
...但这似乎无法正常工作。
测试的目标是断言表单数据在onPause() 方法期间存储并在onStart() 方法期间重新读取。它在手动执行时有效,但测试失败,由此我得出结论,activity.finish() 似乎是停止和重新启动活动的错误方法。
编辑:我的主要问题似乎是同步问题。重新启动活动后,测试运行程序没有等待所有事件处理程序完成。以下行暂停测试执行,直到活动空闲:
getInstrumentation().waitForIdleSync()
除此之外,请查看已接受的答案,以获取有关生命周期的更多有价值信息。
【问题讨论】:
-
究竟是什么似乎无法正常工作?
-
@yorkw 我更新了问题,感谢您的评论。
-
您说“手动操作”是什么意思?
-
@JoelSkrepnek 有一个复选框可以启用和禁用该功能。当我取消选中复选框并关闭并重新打开应用程序时,所有数据都消失了。当我检查它并关闭或杀死然后重新打开应用程序时,所有表单数据都会恢复。
标签: android testing android-testing