Как проверить, отображаются ли элементы RecyclerView в правильном порядке с помощью Espresso?Я пытаюсь проверить это, проверяя текст по заголовку каждого элемента.
Когда я пробую этот фрагмент кода, он работает, чтобы щелкнуть по элементу, но не может перейти к щелчку, пытаясь установить текст для элемента
onView(withId(R.id.rv_metrics)).perform(actionOnItemAtPosition(0, click()));
Когда явместо этого попробуйте использовать пользовательское сопоставление. Я продолжаю получать сообщение об ошибке
Error performing 'load adapter data' on view 'with id: mypackage_name:id/rv_metrics'
Теперь я знаю onData doesn't work for RecyclerView
, но до этого я пытался использовать настраиваемое сопоставление для этой задачи.
public static Matcher<Object> hasTitle(final String inputString) {
return new BoundedMatcher<Object, Metric>(Metric.class) {
@Override
protected boolean matchesSafely(Metric metric) {
return inputString.equals(metric.getMetric());
}
@Override
public void describeTo(org.hamcrest.Description description) {
description.appendText("with title: ");
}
};
}
Я также попробовал что-то подобное, но это, очевидно, не работает из-за типа, заданного в качестве параметра для метода actionOnItemAtPosition, но будет ли у нас что-то похожее на это, которое может работать?
onView(withId(R.id.rv_metrics)).check(actionOnItemAtPosition(0, ViewAssertions.matches(withText("Weight"))));
Что мне здесь не хватает, пожалуйста?Большое спасибо.