我正在尝试测试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()
。