我需要测试一个使用用例,其中应用程序从干净状态开始-即该进程在测试开始之前未运行。从我从logcat
中看到的,所有的仪器测试都在一个单独的进程实例/会话下运行,因此在我的情况下测试的结果取决于它是否作为#1运行。这不应该是这样-正如我们所知道的,单元测试(或仪器测试)应该是自治的。
使用标准的Android仪器测试工具和功能,有没有办法强制TestRunner在给定的测试之前重新启动进程?如果没有,是否有黑客技巧或第三方库可以帮助我实现这一目标?还是有没有方法可以明确指出要先运行测试X (最差的选项但仍然可行)?
具体而言,我的测试涉及通过意图启动活动,以及意图标志(例如FLAG_ACTIVITY_CLEAR_TOP
)除了活动启动模式(例如singleTop
)和进程的状态,这极大地影响测试的结果。