检测测试与层次结构中的视图ID不匹配

时间:2019-04-06 20:25:48

标签: android android-espresso android-instrumentation

简而言之,我正在尝试使用Espresso将ID为R.id.signCheckbox的视图匹配。当我尝试匹配该视图时,很明显该视图存在时,我将获得NoMatchingView异常。

经过一些调试后,我发现在评估R.id.signCheckbox时在测试类中会得到ID:-1000984。在cause的{​​{1}}内部,您实际上可以以某种格式读取整个视图层次结构。我发现该复选框具有不同的ID NoMatchingViewException。我已经阅读了项目2131362821,并且还将R.java分配给2131362821

因此,当我匹配R.id.signCheckbox时,它实际上就在工作。为什么它不能与withId(2131362821)一起使用,以及R.id.signCheckbox的ID来自何处?

1 个答案:

答案 0 :(得分:0)

看起来好旧的Invalidate / Restart / Clean / Rebuild解决了这个问题。

ID仍然是负数(例如-1000984),与R.java ID不匹配,但是Espresso将成功匹配视图。