Cómo agregar dependencias testCompile a IDE classpath

He estado luchando con el problema de la unidad-prueba-androide durante bastante tiempo. He visto esto , esto y aquello , finalmente encontré el gradle-android-test-plugin e incluso lo conseguí trabajando. Ahora puedo ejecutar las pruebas con el comando gradlew test .

Sin embargo, escribir esas pruebas en IDE (Android Studio o IntelliJ 13) está lejos de ser cómodo, porque no ve las dependencias junit & Robolectric añadidas con la dependencia testCompile .

¿Hay alguna manera de agregar estas dependencias al classpath del IDE pero todavía evita empaquetarlas en la aplicación de producción (así, no se puede usar la dependencia de compile AFAIU)?

Tuve el mismo problema con IntelliJ 14.1.3 hoy. La solución era ejecutar los pasos descritos aquí . Básicamente:

  1. Agregue JUnit y otras dependencias a través de testCompile 'junit:junit:4.+' , etz
  2. Pon las fuentes de prueba en src/test/java/...
  3. Para hacer que el IDE encuentre las dependencias de prueba (gradle las encontrará bien), abra la ventana "Build Variants" y vea "Test Artefact" en "Unit Test". En "Estructura del proyecto", las dependencias de prueba deben aparecer en su módulo con el "Test" -scope
  4. La línea de comandos para ejecutar una prueba es testXxx , donde Xxx es el tipo de compilación (debug / release / etz).

El paso importante aquí es el de la vista "Construir variantes". Después de cambiarlo a "Prueba de unidad", se indexará y sus bibliotecas y autocompletar completo están disponibles.

Para mis dependencias de prueba de Android, utilizo instrumentTestCompile en lugar de testCompile. Esto funciona para mí cuando ejecuto mis pruebas en Android Studio. Espero que esto ayude.

Puede utilizar el complemento de idea incorporado. Eso debería configurar dependencias de prueba para usted. Tendrás que importar el complemento:

 apply plugin: 'idea' 

A continuación, ejecute gradle idea , para generar el archivo de módulo ( *.iml ) y vuelva a cargar su proyecto. Tenga en cuenta que tendrá que utilizar la configuración de la idea no basada en directorio para que esto funcione.

  • ¿Existe alguna manera de usar junit.extensions.TestSetup para pruebas en Android?
  • Diferencia entre el método runOnUiThread () y la anotación @UiThreadTest
  • Cómo probar proveedores de contenido en Android
  • Ejecute una sola prueba de Android (unidad) desde gradle sin cargar otras dependencias de proyecto
  • Llamadas de método de burla usando power mockito - org.powermock.api.mockito.ClassNotPreparedException
  • Integrar roboelectric con android studio con gradle siempre da paquetes org.junit no existe error
  • Prueba de unidad automatizada para Android / Ant
  • prueba si un botón inicia una nueva actividad en android junit (pref sin robotium)?
  • Android: java.lang.SecurityException: Inyectar a otra aplicación requiere el permiso de INJECT_EVENTS
  • ¿Cómo hacer simples pruebas junit de vainilla en android? Cómo obtener un error al hacer
  • JUnit UnsatisfiedLinkError: android.util.Log.isLoggable (Ljava / lang / String;
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.