这个方法中做匹配界面的是在matches这一步
所有的matcher都实现了接口Matcher,但实际应用中,我们并没有直接实现Matcher,而是用到了它的子类的两个派生类:TypeSafeMatcher和BoundedMatcher
1.TypeSafeMatcher封装后,比基类多了一个变量。即expectedType,在matchesSafely()判断前会增加一个判断,当前 item是否是expectedType的实例或者子类。这样可以防止出现不同类型的恰好匹配的情况,相对于BaseMatcher是更加安全的。
2.BoundedMatcher是在TypeSafeMatcher的基础上又增加了一些安全措施。原理和TypeSafeMatcher一样,只是条件更苛刻,有兴趣的同学可以查看源码,对比一下TypeSafeMatcher和BoundedMatcher
以下列举一些常用的静态方法,可以提升工作效率。当然你也可以自己造轮子,本着能不造就不造,能懒就懒的原则,还是看看现成方法吧。
ViewMatcher

以上就是常用的ViewMatcher中常用的方法。