Uso de una aplicación personalizada con InstrumentationTestCase

Tengo un ActivityInstrumentationTestCase2 (que es una subclase de InstrumentationTestCase). Cuando ejecuto mis testcases, necesito lanzar mis actividades usando un objeto de TestApplication de encargo, puesto que estos objetos de TestApplication tienen cierta configuración necesaria para mis pruebas.

Sin embargo, no veo una forma de personalizar mis testcases de ActivityInstrumentationTestCase2 para usar el objeto de aplicación de prueba. ¿Hay una manera de hacerlo?

No sé si hay una manera mejor, pero pude lograr esto usando un TestRunner personalizado.

public class MyInstrumentationTestRunner extends InstrumentationTestRunner { @Override public Application newApplication(ClassLoader cl, String className, Context context) throws InstantiationException, IllegalAccessException, ClassNotFoundException { return new MyTestApplication(context); } } 

También necesitaba modificar el AndroidManifest.xml de mi proyecto de prueba para especificar el nuevo corredor:

 <instrumentation android:name="com.mypackage.test.MyInstrumentationTestRunner" ... /> 

Y tuve que modificar mi IDE para utilizar el corredor de prueba especificado también. Si está ejecutando desde la línea de comandos, necesitará hacer algo como lo siguiente:

 adb shell am instrument -w com.mypackage/com.mypackage.test.MyInstrumentationTestRunner 

Debería ser

 @Override public Application newApplication(ClassLoader cl, String className, Context context) throws InstantiationException, IllegalAccessException, ClassNotFoundException { return Instrumentation.newApplication(YourAppClass.class, context); } 

Porque inyecta Contexto a un contenedor correctamente

  • Establecer GoogleInstrumentationTestRunner para AndroidStudio
  • Emulador para probar APK
  • Actividad de ensayo y fragmento específico con espresso
  • Ejecute pruebas de unidad android y pruebas de instrumentación en Jenkins (Gradle)
  • Haga que Espresso espere a que WebView termine de cargar
  • Google Espresso o Robotium
  • Prueba de la interfaz de usuario de Android con Expresso: No hay actividades en la etapa REANUDADO
  • Google play alfa publicar va a prod?
  • Prueba de varios dispositivos Android en una máquina
  • No hay error aún Android Studio dice que "no se encontraron pruebas"
  • Utilice Robolectric para probar el inicio de un servicio con extras de intención?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.