我正在尝试测试UI View 的缺失。 View 选择器如下:

public static ViewInteraction onMyTestUi() {
    return onView(withId(R.id.myTestId));
}

选择器可以很好地检查 View 是否显示,但是在检查 View 是否未显示时会出错。我正在使用如下:
 onMyTestUi().check(matches(not(isDisplayed())));

但是我收到以下错误:



这很奇怪。我正在检查缺少UI,并且期望不会找到此 View 。那为什么Espresso会抛出错误?
请在这里提出可能出了什么问题。

谢谢,
好惊讶!

最佳答案

需要使用doesNotExist()代替。
找到here
如果该 View 位于 View 层次结构中但处于不可见状态(可见性设置为'INVISIBLE'),请使用not(isDisplayed)。但是,如果 View 在 View 层次结构中根本不存在(例如,可见性设置为“GONE”),则使用doesNotExist()

10-06 09:20
查看更多