1. ViewInteraction v = onView(allOf(withId(R.id.login_card_view), isDisplayed()))
和2. v.check(matches(isDisplayed()))
有什么不同?
如果我在第二个代码中做相同的事情,第一行中的isDisplayed()
有什么用呢?
1. ViewInteraction v = onView(allOf(withId(R.id.login_card_view), isDisplayed()))
和2. v.check(matches(isDisplayed()))
有什么不同?
如果我在第二个代码中做相同的事情,第一行中的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()));
}
我希望现在更清晰了