【发布时间】:2015-12-20 23:28:26
【问题描述】:
我需要测试一个应用程序从干净状态启动的用例 - 即在测试开始之前进程尚未运行。从我从logcat 看到的情况来看,所有仪器测试都在一个流程实例/会话下运行,因此在我的情况下,测试的结果取决于它是否作为#1 运行。不应该这样 - 众所周知,单元测试(或仪器测试)应该是自主的。
标准的 Android 仪器测试工具和功能有什么方法可以强制 TestRunner 在给定测试之前重新启动进程吗?如果没有,是否有黑客或第三方库可以帮助我实现这一目标?或者有什么方法我可以明确地说 test X 必须首先运行(最坏的选择,但仍然)?
具体来说,我的测试涉及通过意图启动活动,以及意图标志(例如FLAG_ACTIVITY_CLEAR_TOP)以及活动启动模式(例如singleTop)和进程状态,非常决定测试的结果。
【问题讨论】:
-
你找到解决办法了吗?
-
您想从 espresso 测试中重新启动应用程序吗?
-
在每次测试中杀死并重新启动应用程序进程是否是一种解决方案?
标签: android unit-testing android-lifecycle android-instrumentation