Android onView(allOf(带id(R.id.login\u card\u view),isDisplayed())和check(匹配项(isDisplayed())之间的差异)

Android onView(allOf(带id(R.id.login\u card\u view),isDisplayed())和check(匹配项(isDisplayed())之间的差异),android,ui-automation,android-espresso,hamcrest,Android,Ui Automation,Android Espresso,Hamcrest,两者的区别是什么 1.ViewInteraction v=onViewAllowWithidR.id.login\u card\u视图,显示 及 2.v.检查匹配显示 如果我在2中做同样的事情,那么在1中显示isDisplayed有什么用?isDisplayed在这两种上下文中有不同的语义 假设您的活动没有视图。看看这个单元测试test1,它将成功通过,因为您要求espresso查找一个具有特定文本的视图,并且该视图是显示的。espresso并没有找到那个视图,但并没有进一步的检查,所以并没有异

两者的区别是什么

1.ViewInteraction v=onViewAllowWithidR.id.login\u card\u视图,显示

2.v.检查匹配显示

如果我在2中做同样的事情,那么在1中显示isDisplayed有什么用?

isDisplayed在这两种上下文中有不同的语义

假设您的活动没有视图。看看这个单元测试test1,它将成功通过,因为您要求espresso查找一个具有特定文本的视图,并且该视图是显示的。espresso并没有找到那个视图,但并没有进一步的检查,所以并没有异常,单元测试功能也很好

@Test
public void test1() {
    Espresso.onView(Matchers.allOf(ViewMatchers.withText("bla bla lba") ,ViewMatchers.isDisplayed()));
}
但是看看下面的单元测试test2,它将失败,因为您告诉espresso找到一个具有特定文本的视图,然后检查该视图是否显示,并且检查是否通过

@Test
public void test2() {
    Espresso.onView(Matchers.allOf(ViewMatchers.withText("bla bla lba"))).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));
}

我希望现在比谷歌浓缩咖啡文档上的解释更清楚

!非常感谢。