Añadiendo un conjunto de pruebas adicional a Gradle
Estoy intentando agregar Gradle (1.4) a un proyecto existente que tiene varias suites de prueba. La prueba unitaria estándar situada ensrc/test/java
se ejecutó correctamente, pero tengo problemas para configurar una tarea para ejecutar la prueba JUnit ubicada ensrc/integration-test/java
.
Cuando corrogradle intTest
Consigo varioscannot find symbol
errores para las clases ensrc/main
. Esto me lleva a creer que las dependencias no están configuradas correctamente. Como me configurointTest
¿Para que se ejecuten mis pruebas de integración JUnit?
construir.gradle
apply plugin: 'java'
sourceCompatibility = JavaVersion.VERSION_1_6
sourceSets {
integration {
java {
srcDir 'src/integration-test/java'
}
resources {
srcDir 'src/integration-test/resources'
}
}
}
dependencies {
compile(group: 'org.springframework', name: 'spring', version: '3.0.7')
testCompile(group: 'junit', name: 'junit', version: '4.+')
testCompile(group: 'org.hamcrest', name: 'hamcrest-all', version: '1.+')
testCompile(group: 'org.mockito', name: 'mockito-all', version: '1.+')
testCompile(group: 'org.springframework', name: 'spring-test', version: '3.0.7.RELEASE')
integrationCompile(group: 'junit', name: 'junit', version: '4.+')
integrationCompile(group: 'org.hamcrest', name: 'hamcrest-all', version: '1.+')
integrationCompile(group: 'org.mockito', name: 'mockito-all', version: '1.+')
integrationCompile(group: 'org.springframework', name: 'spring-test', version: '3.0.7.RELEASE')
}
task intTest(type: Test) {
testClassesDir = sourceSets.integration.output.classesDir
classpath += sourceSets.integration.runtimeClasspath
}
Detalles: Gradle 1.4
Solución: No había configurado el classpath de compilación para el conjunto de fuentes de prueba de integración (ver más abajo). En mi código I establezco la ruta de la clase de compilación asourceSets.test.runtimeClasspath
de modo que no tengo las dependencias duplicadas para "integrationCompile"
sourceSets {
integrationTest {
java {
srcDir 'src/integration-test/java'
}
resources {
srcDir 'src/integration-test/resources'
}
compileClasspath += sourceSets.main.runtimeClasspath
}
}