Короче говоря, я пытаюсь сопоставить представление с идентификатором типа R.id.signCheckbox
с помощью Espresso. Когда я пытаюсь сопоставить это представление, я получаю исключение NoMatchingView, когда становится ясно, что это представление присутствует.
После некоторой отладки я обнаружил, что внутри моего тестового класса, когда я оцениваю R.id.signCheckbox
, я получаю ID: -1000984
. Внутри cause
NoMatchingViewException
вы можете фактически прочитать всю иерархию представления в некотором формате. Там я обнаружил, что у этого флажка другой ID 2131362821
. Я прочитал проект R.java
, и он также присваивает 2131362821
R.id.signCheckbox
.
Поэтому, когда я подбираю withId(2131362821)
, он действительно работает. Почему он не работает с R.id.signCheckbox
и откуда этот -1000984
id?
import com.yourapp.pkg.R;
ЯВЛЯЕТСЯ тем, который вы импортируете / хотите импортировать? Файл R.java статичен и не может изменить id волей-неволей AFAIK. - person Rakib   schedule 09.04.2019