Je suis nouveau sur android Testing. J'essaye d'échouer le test si l'utilisateur clique sur un bouton et que le TextView est vide. Existe-t-il un moyen de le faire dans l'espresso, donc il échouera si le TextView est vide. Je ne veux pas vérifier que le TextView contient un texte spécifique, je veux vérifier qu'il n'est pas vide.Test d'une valeur TextView n'est pas vide en utilisant Espresso et échoue si une valeur TextView est vide
2
A
Répondre
1
Essayez ceci:
import static android.support.test.espresso.Espresso.onView;
import static android.support.test.espresso.action.ViewActions.click;
import static android.support.test.espresso.assertion.ViewAssertions.matches;
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
import static android.support.test.espresso.matcher.ViewMatchers.withId;
import static android.support.test.espresso.matcher.ViewMatchers.withText;
import static org.hamcrest.Matchers.not;
@RunWith(AndroidJUnit4.class)
public class MainActivityInstrumentedTest {
@Rule
public ActivityTestRule<MainActivity> mActivityTestRule =
new ActivityTestRule<>(MainActivity.class);
@Test
public void checkTextView_isDisplayed_and_notEmpty() throws Exception {
// perform a click on the button
onView(withId(R.id.button)).perform(click());
// passes if the textView does not match the empty string
onView(withId(R.id.textView)).check(matches(not(withText(""))));
}
}
Le test ne passera si le textView contient du texte.
Le code ci-dessus fera passer le test lorsque textView est vide. Je veux que le test échoue lorsque textView est vide. Je ne veux pas que ça passe quand c'est vide. –
J'ai mis à jour ma réponse, essayez encore et laissez-moi savoir si cela fonctionne – chornge
oui le code édité ci-dessus travaillé. –