Pruebas condicionales con Gradle
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Kotest admite múltiples formas de filtrar pruebas desde la línea de comandos usando Gradle.
Filtrado de pruebas con Gradle
Al ejecutar Kotest mediante el runner de JUnit Platform a través de Gradle, se admite la sintaxis estándar de Gradle para filtrado de pruebas. Puedes habilitar el filtrado tanto en el script de compilación como mediante la opción de línea de comandos --tests.
Por ejemplo, en el script de compilación:
tasks.test {
filter {
//include all tests from package
includeTestsMatching("com.somepackage.*")
}
}
O mediante la línea de comandos:
gradle test --tests 'com.sksamuel.some.package.*'
gradle test --tests '*IntegrationTest'
gradle test --tests 'com.sksamuel.some.package.MyTestClass.some test name'
Consulta la documentación completa de Gradle aquí.
Dado que el soporte de pruebas de Gradle se basa en class.method, al filtrar pruebas individuales podemos especificar pruebas anidadas usando el delimitador -- entre nombres de pruebas. Por ejemplo: --tests 'com.mypackage.MySpec.test -- nested test'. Ten en cuenta que el delimitador incluye espacios alrededor de los guiones dobles y recuerda escapar la ruta de prueba con comillas simples.
Filtrado específico de Kotest
Para pruebas multiplataforma, Kotest ofrece su propia bandera mediante una variable de entorno. Esta bandera admite comodines con * y coincide con pruebas o especificaciones usando la misma sintaxis que el formato Gradle.
Este ejemplo ejecutaría todas las pruebas en los paquetes com.somepackage (y anidados) configurando la variable de entorno KOTEST_INCLUDE_PATTERN:
KOTEST_INCLUDE_PATTERN='com.somepackage.*' gradle test
Es preferible encerrar el valor entre comillas simples en lugar de dobles para evitar que tu shell interprete los caracteres * como globbing.