可以使用Espresso在多个视图上断言isDisplay吗?

时间:2018-11-12 19:15:11

标签: android-espresso

我想知道是否可以创建一个自定义匹配器,该匹配器可以获取所有指定的视图并对该数组或集合进行断言。

作为一个潜在的例子,它看起来像:

onView( (withAllIds(R.id.text_view1,R.id.text_view2, R.id.text_view3))).check(matches(isDisplayed())

对于克莱尔来说,上面的说法是断言textview 1、2和3都已显示。

这是否是代码气味,我很好奇听到想法和意见。我将使用它来做出一个简单的断言,即期望的视图在UI级别上显示,并且可能将其与isCompletelyDisplayed()配对以确保没有内容被剪切。单独编写测试/断言可以使某些失败的调试变得更容易,但是在套件中花费更长的时间才能在CI上单独运行每个测试。

是否有更好的方法来测试这些简单的视图断言?这值得么?

我通常是测试与应用程序交互的爱好者,例如如果应用程序确实执行了某项操作,则UI可以正确处理它,或者如果API返回了响应,则UI可以正确处理它。

但是我很好奇,是否可以将everyItem Hamcrest示例之类的东西用于Espresso的多个视图。

引用:

http://hamcrest.org/JavaHamcrest/javadoc/1.3/org/hamcrest/core/Every.html

everyItem example from Hamcrest

0 个答案:

没有答案