Votre extrait de code semble correct, donc il peut y avoir un problème avec une autre partie de votre classe de test? Obtenez-vous une exception ou une pile-trace avec laquelle vous pouvez mettre à jour votre question? Vérifiez également l'espresso documentation pour un peu plus d'explications.
Voir petit exemple de code de la façon dont vous pouvez sélectionner une option spinner par le texte ou sa position.
@RunWith(AndroidJUnit4.class)
public class BasicEspressoTest {
@Rule
public ActivityTestRule<MainActivity> testRule = new ActivityTestRule<>(MainActivity.class);
@Test
public void selectBySpinnerPosition() throws Exception {
onView(withId(R.id.spinner)).perform(click());
onData(allOf(is(instanceOf(String.class)))).atPosition(0).perform(click());
}
@Test
public void selectBySpinnerText() throws Exception {
onView(withId(R.id.spinner)).perform(click());
onData(allOf(is(instanceOf(String.class)), is("spinner's text"))).perform(click());
}
}
Cocher cette réponse: http://stackoverflow.com/questions/37615658/espresso-why-dont-spinners-close-after-selection/37683354#37683354 Son bas a voté, mais cela a vraiment fonctionné pour moi – jeprubio