我正在测试我的Android应用程序,它由1个主活动和多个嵌套的片段组成,在其中我们进行导航。
为了进行测试,我使用espresso,在单击特定按钮后,我想检查当前片段是否已更改(按钮部分没有问题)。
那么,在espresso中,我如何检查片段是否与按钮点击之前相同?
我正在测试我的Android应用程序,它由1个主活动和多个嵌套的片段组成,在其中我们进行导航。
为了进行测试,我使用espresso,在单击特定按钮后,我想检查当前片段是否已更改(按钮部分没有问题)。
那么,在espresso中,我如何检查片段是否与按钮点击之前相同?
如果你真的想做这件事,你就能做到。
FragmentManager fragmentManager = getActivity().getFragmentManager()
您需要从fragmentManager
获取有关后退堆栈的信息。如果您的片段具有标记,则可以断言findFragmentByTag(tag)
返回非空内容。
但通常最好针对视图层次结构做出断言。这就是 Espresso 的设计初衷,也更符合黑盒测试的精神。
因此,我建议找到新片段的某些独特特征,例如页面标题(如果有),并使用通常的 Espresso 方法来断言该视图存在,例如:
onView(withText("Page Two Title")).check(matches(isDisplayed()));