介绍完了onView&onData,以及各自的perform方法,该到assert了,也就是执行操作后的断言了,那我们通过代码可以看到ViewAssertion这是一个接口,因此可以判断所有的断言类都有实现这个接口。通过查看源码也可以看到官方注释
检查给定视图的状态(如果存在视图);打印未匹配视图原因
那这样这个方法的作用也很明了了。既然是接口,那我们看看这个接口中有哪些常用方法
ViewAssertion
doesNotExist() //断言目标 view 不存在于当前布局
matches() //断言当前 view 是否匹配指定 matcher
seletedDescendantsMatch() 目标 view 的子视图如果匹配第一个matcher,则一定匹配第二个
这几个方法里,最常用的是matches(),可以根据需要重新写Matcher来断言。
其他的assertion笔者不常用,所以了解不多,有兴趣可以自己阅读源码查看,断言这部分代码比较简单,看着方法名就能知道这个方法想要干什么。其他的也不需要了解太多。