Is there a way to test using Espresso that the snackbar shows up with the right text?
I have a simple call to create a snackbar
Snackbar.make(mView, \"My
I saw the previous answers but I thought this would be better.
@Test
public void onFabClick_shouldDisplaySnackbar() throws Exception {
onView(withId(R.id.fab)).perform(click());
// Compare with the text message of snackbar
onView(withText(R.string.snackbar_message))
.check(matches(isDisplayed()));
}
An alternative
private void checkSnackBarDisplayedByMessage(
@StringRes int message) {
onView(withText(message))
.check(matches(withEffectiveVisibility(
ViewMatchers.Visibility.VISIBLE
)));
}
This worked for me, please try.
onView(allOf(withId(android.support.design.R.id.snackbar_text), withText("My text")))
.check(matches(isDisplayed()));
If you use AndroidX, please use the following:
onView(withId(com.google.android.material.R.id.snackbar_text))
.check(matches(withText(R.string.whatever_is_your_text)))