我正在尝试为 android 应用程序编写功能测试。问题是我探索过的大多数功能测试框架(calabash-android、robotium)都对来自不同应用程序的可在同一测试中测试的活动数量有限制。因此,如果在一个工作流程中我需要从 android 联系人选择器中选择一些联系人,我将无法测试整个流程,因为联系人选择器活动是 android 联系人应用程序的一部分,并且框架无法测试来自我的应用程序和联系人应用程序的活动同时。
我的团队想到的一种可能的解决方案是模拟对联系人活动的调用,以返回带有联系人信息的虚拟意图,以便可以测试我们的应用程序工作流程。我们正在尝试使用 mockito 来实现这一点。但是我很早就被困住了。这是我想要做的
MyActivity mockActivity = mock(MyActivity.class);
when(mockActivity.startActivityForResult(<?>,anyInt())).thenReturn(fakeIntent);
我不确定在第二行的第一个参数中放入什么。我已经尝试过 Intent.class 和 android.content.Intent.class 但是它会引发编译错误。如果有人使用 mockito 进行过模拟活动,我们将不胜感激。
PS - 如果我理解正确,单元测试比功能测试更多地使用模拟。所以这些测试更像是一种混合。如果有人对如何在 android 上进行这些功能测试有更好的建议,我会全力以赴。