Test Gradle con JUnit 5
Con JUnit4 no había ningún problema especial con gradle, bastaba poner la dependencia de test y todo funcionaba correctamente. Sin embargo, con Gradle y JUnit5, usando junit-jupiter-engine, suele ser habitual un error No tests found for given includes porque es necesaria una pequeña configuración adicional.. No nos pasa si usamos junit-vintage-engine
Veamos cómo configurar Gradle para usar Junit 5 con junit-jupiter-engine
Indicarle a Gradle que use junitPlatform[editar]
Vamos al grano, para evitar el error No tests found for given includes sólo tienes que poner en tu fichero build.gradle
test {
useJUnitPlatform()
}
El motivo. JUnit 5 usa una base, junit-platform-engine y luego dos posibles implementaciones, junit-jupiter-engine y junit-vintage-engine. La primera implementación es para los nuevos test al estilo JUnit 5. La segunda permite usar los antiguos test de Junit 4, es decir, sería la implementación JUnit 4 para la nueva junit-platform-engine.
Pues bien, a Gradle hay que indicarle que use la nueva junit platform de JUnit 5 si queremos hacer test con junit-jupiter-engine. No es necesario si usamos junit-vintage-engine.
Dependencias gradle junit-jupiter-engine[editar]
Resumiendo, si quieres usar junit-jupiter-engine con Gradle, debes poner lo siguiente en tu fichero build.gradle
// Para Junit5 jupinter engine
test {
useJUnitPlatform()
}
dependencies {
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.10.2'
}
Dependencias gradle junit-vintage-engine[editar]
Sin embargo, si usas la implementación compatible con Junit 4, no necesitas añadir useJunitPlatform, basta añadir la dependencia de junit-vintage-engine
dependencies {
testImplementation group: 'org.junit.vintage', name: 'junit-vintage-engine', version: '5.10.2'
}