¿Cómo esperar a que otra actividad comience con Espresso?

¿Cómo puedo hacer una prueba que espera que se inicie una actividad cada vez que se hace clic en un botón?

Mi prueba es muy simple:

public void testStartsNewActivity() { onView(withId(R.id.button)).perform(click()); // assert new Activity is launched } 

¡Gracias!

Afirmar que una nueva actividad se ha iniciado es tan fácil como afirmar que una vista perteneciente a esa nueva actividad se muestra en la pantalla.

Compruebe esto para más muestras. Desde la misma página:

De forma predeterminada, Espresso espera que los eventos de interfaz de usuario en la cola de mensajes actual procesen y que AsyncTasks por omisión * se complete antes de pasar a la siguiente operación de prueba. Esto debería abordar la mayoría de sincronización de aplicación / prueba en su aplicación.

Por lo tanto, dado su "realmente simple" caso de prueba, estoy asumiendo que no hay espera en la carga de recursos personalizados y afirmando que una vista se muestra debe ser suficiente.

  • Espere hasta que la vista sea visible con IdleResource
  • Cómo ejecutar Prueba Travis-CI y Espresso
  • Ejecutar espresso después de proteger la aplicación pero no probar
  • Android Espresso no espera que la interfaz de usuario finalice
  • Android IllegalStateException No hay instrumentación registrada! Debe ejecutarse bajo una instrumentación de registro
  • Android Marshmallow: Prueba permisos con Espresso?
  • Configurar gradle para usar JUnit, Mockito, Hamcrest y Espresso
  • ¿Cómo hacer clic en los elementos de la barra de acción al realizar pruebas con Android Espresso?
  • Snackbar y Espresso fallando a veces
  • Cómo obtener informes de cobertura de código de google Firebase para Android Espresso tests
  • Espresso startActivity que depende de Intent
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.