Android + Espresso + solicitud HTTP asíncrona -> cómo probar?

Estoy tratando de probar la aplicación de Android utilizando Espresso FW y me quedé en el problema con hacer la solicitud HTTP asíncrona.

¿Cómo puedo probar el caso de que la aplicación (actividad) está esperando la solicitud de procesamiento y después de recibir la respuesta se muestra la siguiente actividad con el resultado o mensaje de error?

Traté de encontrar alguna solución de cómo hacerlo en el Espresso con pruebas contra los datos del servidor de prueba, pero sin suerte.

Muchas gracias por cualquier consejo, ejemplo o enlace.

Luché con esto durante unos días. Si su aplicación está utilizando retroadaptación para gestionar solicitudes HTTP, puede agregar esta línea:

.setExecutors(AsyncTask.THREAD_POOL_EXECUTOR, new MainThreadExecutor()) 

A su RestAdaptor.Builder. Esto mueve todas las peticiones HTTP en el grupo AsyncTasks que es manejado por espresso.

He encontrado la respuesta original aquí: http://www.michaelevans.org/blog/2015/08/03/using-espresso-for-easy-ui-testing/

Creo que el problema está en la arquitectura de la aplicación. Debe utilizar alguna biblioteca de inyección de dependencias para inyectar servicio simulado con datos falsos en su aplicación en modo de prueba. Cuando se inyecta "prueba" de implementación (mocks) cuando se prueba. U evitará problemas con la disponibilidad de la red o puede simular la disponibilidad de la red mediante la implementación de la prueba.

  • El método de desplazamiento no funciona en las pruebas de automatización de Android
  • Robolectric 3.0 java.lang.NoSuchMethodException en crear actividad
  • Cualquier forma de obtener una referencia para los elementos de la barra de Acción para Junit pruebas en android?
  • ¿Puedo eliminar la aplicación publicada en las pruebas alfa de google play?
  • Espresso lanza error al hacer clic en la vista de pantalla completa con Samsuns Galaxy S3
  • Manifiesto y problemas de configuración para conseguir que Robolectric trabaje con Android Studio 1.1.0
  • Probando que una actividad llamada setResult
  • Espresso: Falló la ejecución de instrumentación debido a 'keyDispatchingTimedOut'
  • Ideas para automatizar las ejecuciones de Android Monkey
  • Automatización de pruebas de iPhone - herramientas de referencia?
  • ¿Por qué se realiza la primera prueba con Robolectric tomando tanto tiempo?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.