Эспрессо проверить, если текст не существует, не работает - PullRequest
0 голосов
/ 05 октября 2018

Я хочу убедиться, что строка, извлеченная из записи в БД, больше не присутствует после изменения записи в БД, для этого я использую следующее утверждение:

onView(allOf(withText("oldname"), withId(R.id.title))).check(doesNotExist());

Согласно документации эспрессо и другимСообщения, которые я видел, должны работать, но я получаю следующую ошибку:

android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: (with text: is "oldname" and with id: com.myco.myapp:id/apkName)

1 Ответ

0 голосов
/ 05 октября 2018

Проблема в том, что вы ищете представление с текстом «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"))));

Первый вариант гласит: «Убедитесь, что есть представление с этим идентификатором, а не с этим текстом».Второй вариант гласит: «убедитесь, что представление с этим идентификатором не имеет этого текста».

...