Tengo dos proyectos, el proyecto A y el proyecto B. Ambos están escritos en groovy y usan gradle como su sistema de construcción.
El proyecto A requiere el proyecto B. Esto es válido tanto para el código de compilación como para el de prueba.
¿Cómo puedo configurar que las clases de prueba del proyecto A tengan acceso a las clases de prueba del proyecto B?
testing
build
automated-tests
dependency-management
gradle
Dr. Simon Harrer
fuente
fuente
Respuestas:
Puede exponer las clases de prueba a través de una configuración de 'pruebas' y luego definir una dependencia testCompile en esa configuración.
Tengo este bloque para todos los proyectos de Java, que contiene todo el código de prueba:
Luego, cuando tenga el código de prueba, quiero acceder entre los proyectos que uso
Esto es para Java; Supongo que también debería funcionar para groovy.
fuente
configurations { tests { extendsFrom testRuntime } }
Could not get unknown property 'testClasses'
Esta es una solución más simple que no requiere un archivo jar intermedio:
Hay más discusión en esta pregunta: dependencias de prueba multiproyecto con gradle
fuente
Esto funciona para mí (Java)
fuente
La solución anterior funciona, pero no para la última versión
1.0-rc3
de Gradle.fuente
Si ProjectA contiene el código de prueba que desea usar en ProjectB y ProjectB quiere usar artefactos para incluir el código de prueba, entonces build.gradle de ProjectB se vería así:
Luego, debe agregar un
archives
comando a laartifacts
sección en build.gradle de ProjectA:Ahora, cuando los artefactos de ProjectA se publiquen en su artefactor, incluirán un frasco de pruebas . Este jar -tests se puede agregar como una dependencia testCompile para ProjectB (como se muestra arriba).
fuente
Para Gradle
1.5
fuente
Para Android en la última versión de gradle (actualmente estoy en 2.14.1), solo necesita agregar lo siguiente en el Proyecto B para obtener todas las dependencias de prueba del Proyecto A.
fuente