Я новичок в тестировании пользовательского интерфейса с помощью Espresso.Мне нужен пример теста для проверки того, что, если я нажимаю пункт меню на панели инструментов, он обновляет Recyclerview или нет.
Я написал до выполнения щелчка по меню панели инструментов, но не могу найти, как проверить, обновлено ли Recyclerview или нет
import org.junit.Rule;
import org.junit.Test;
import androidx.test.rule.ActivityTestRule;
import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.action.ViewActions.click;
import static androidx.test.espresso.assertion.ViewAssertions.matches;
import static androidx.test.espresso.matcher.ViewMatchers.withId;
import static androidx.test.espresso.matcher.ViewMatchers.withText;
public class MainActivityTest {
@Rule
public ActivityTestRule<MainActivity> mActivityTestRule =
new ActivityTestRule<>(MainActivity.class);
private IdlingResource mIdlingResource;
@Before
public void registerIdlingResource() {
mIdlingResource = mActivityTestRule.getActivity().getIdlingResource();
Espresso.registerIdlingResources(mIdlingResource);
}
@Test
public void clickFilterBUtton_UpdatesRecyclerview() {
int adapterSizeBeforeUpdate, adapterSizeAfterUpdate;
adapterSizeBeforeUpdate = getRVcount();
onView((withId(R.id.action_filter)))
.perform(click());
adapterSizeAfterUpdate= getRVcount();
Assert.assertTrue(adapterSizeBeforeUpdate!=adapterSizeAfterUpdate);
}
@After
public void unregisterIdlingResource() {
if (mIdlingResource != null) {
Espresso.unregisterIdlingResources(mIdlingResource);
}
}
private int getRVcount(){
GridView gridView = (GridView)
mActivityTestRule.getActivity().findViewById(R.id.tea_grid_view);
return gridView.getAdapter().getCount();
}
}