在数据库中的条目更改后,我想验证从数据库条目中检索到的字符串是否不再存在,为此,我正在使用以下语句:
onView(allOf(withText("oldname"), withId(R.id.title))).check(doesNotExist());
根据espresso文档和其他文章,我认为这应该可行,但是出现以下错误:
android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: (with text: is "oldname" and with id: com.myco.myapp:id/apkName)
答案 0 :(得分:0)
问题是您要查找带有文本“ oldname”的视图,然后尝试断言该视图不存在,但这不起作用,因为该视图不存在(因此您可以不要在上面声明任何内容。
您要从此处去的位置取决于您要完成的任务。如果该视图根本不存在:
onView(withId(R.id.title)).check(doesNotExist());
如果视图应该存在,但没有该文本:
onView(allOf(not(withText("oldname")),withId(R.id.title))).check(matches(isDisplayed());
或其他形式的变化
onView(withId(R.id.title)).check(matches(not(withText("oldName"))));
第一个变体说“确保有一个带有该ID而不是该文本的视图”。第二种变化是“确保具有该ID的视图没有该文本”。