Tengo un proyecto gradle con el complemento Kotlin.
En mi proyecto utilizo Groovy y Spock para las pruebas. Una de las clases de utilidad utilizadas en las pruebas está escrita en Kotlin y la puse en src/test/kotlin
Estoy tratando de usar esta clase de pruebas maravillosas (especificación Spock), veo que la tarea "compileTestKotlin" se ejecuta primero y compila mi clase de utilidad, pero aún así "compileTestGroovy" falla, porque no lo ve.
¿Cómo puedo solucionar esta situación? ¿Cómo agregar build/classes/kotlin/test/ al classpath de compilación de las pruebas maravillosas?
El problema es que, de forma predeterminada, compileTestGroovy no incluye la carpeta build/classes/kotlin/test , por lo que su clase de utilidad de Kotlin no se puede ver desde las pruebas de Groovy.
Para solucionarlo, puede agregar manualmente las fuentes de prueba de Kotlin para compilar el classpath de compileTestGroovy . Agregue lo siguiente a su build.gradle :
compileTestGroovy.classpath += files(compileTestKotlin.destinationDir) Si su archivo de compilación es build.gradle.kts , agregue lo siguiente
// make groovy test code depend on kotlin test code tasks.named<GroovyCompile>("compileTestGroovy") { classpath += files(tasks.compileTestKotlin) }