Android Gradle 1.1 – agregando una dependencia de prueba en las pruebas de otro proyecto

Tengo 2 módulos: A y B.

A es un módulo autónomo. Sus pruebas funcionan bien por sí solo.
B es un módulo dependiente. Sus pruebas requieren un cierto archivo en la carpeta de prueba de A (un archivo de prueba en B se extiende uno en A )

Aquí están lo que creo que son las partes relevantes de B 's build.gradle :

 android { ... sourceSets { test.java.srcDirs += "../A/src/test/java" } } dependencies { compile project(':A') testCompile 'junit:junit:4.10' testCompile 'org.robolectric:robolectric:2.4' testCompile 'org.mockito:mockito-core:1.9.5' } 

Mientras esto funciona técnicamente para lo que lo necesito – tiene el efecto secundario desagradable que cada vez que ejecuto las pruebas de unidad A, también ejecutar todas las pruebas de B. Realmente me gustaría si este no fuera el caso.

Estoy usando Android Gradle 1.1 (junto con Android Studio 1.1), y creo que esto me está causando algunos problemas. He intentado todas las soluciones que pude encontrar – por desgracia, ninguno de ellos parece que se aplican para Android Gradle 1.1 – por ejemplo:

Quitar los sourceSets de sourceSets de sourceSets de B y agregar (a las dependencias de B ) la línea

  testCompile project(':A').sourceSets.test.output 

Produce el error de compilación Could not find property 'test' on SourceSet container.

¿Estoy haciendo esto de la manera equivocada? ¿Hay una manera más fácil / mejor de incluir archivos de prueba a través de módulos? Soy bastante nuevo en Gradle / Android Studio, así que es totalmente posible que me esté perdiendo una solución obvia y muerta.

Compruebe todos los módulos por árbol con el comando:

 gradle projects 

Lista todos los módulos de su proyecto y puede ver si está configurando sus subproyectos de una manera correcta. Ejecute también el comando:

 gradle --gui 

Lista todas las tareas para todos los módulos, y siempre se puede ejecutar un módulo independientemente de otros, por ejemplo

 gradle A:tasks gradle A:test gradle B:test 

O ambos

 gradle A:tasks B:test 

Nota: No es necesario especificar el A si es el proyecto raíz y los submódulos B, C, D, pero para submódulos es necesario especificarlo. Cuando tu lo hagas:

 gradle --gui 

Puede hacer doble clic en cualquier tarea para ver cómo se ejecuta y puede hacer lo mismo manualmente desde la línea de comandos. Espero que esto ayude

  • Intellij + gradle + robolectric + espresso
  • Construir sólo por defecto (sin sabores / variantes)
  • ¿Cómo puedo añadir una biblioteca (android-support-v7-appcompat) en IntelliJ IDEA
  • ¿Cuál es la diferencia entre "minifyEnabled" y "useProguard" en el complemento de Android para Gradle?
  • Android Studio no puede iniciar la aplicación después de la compilación cuando se utiliza una marca de tiempo en el nombre
  • Cómo utilizar las bibliotecas en AIDE
  • 'FlavorDimension' será eliminado por Android Gradle Plugin 2.0, ha sido reemplazado por 'dimension'
  • Android-library con la dependencia específica de Flavors de Producto
  • Cómo construir solo buildType con Android Studio y / o Gradle
  • Error: (21, 0) Gradle Método DSL no encontrado:
  • No se pudo resolver: com.github.PhilJay: MPAndroidChart: v2.1.4
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.