Omitir pruebas con Gradle

1. Introducción

Aunque saltarse las pruebas suele ser una mala idea, hay algunas situaciones en las que puede resultar útil y nos ahorrará algo de tiempo. Por ejemplo, considere que estamos desarrollando una nueva función y queremos ver un resultado dentro de las compilaciones intermedias. En este caso, podríamos omitir las pruebas temporalmente para reducir la sobrecarga de compilarlas y ejecutarlas. Sin duda, ignorar las pruebas puede causar muchos problemas graves.

En este breve tutorial, veremos cómo omitir las pruebas al usar la herramienta de compilación de Gradle.

2. Uso de indicadores de línea de comando

Primero, creemos una prueba simple que queremos omitir:

@Test void skippableTest() { Assertions.assertTrue(true); }

Cuando ejecutamos el comando de compilación :

gradle build

Veremos tareas en ejecución:

> ... > Task :compileTestJava > Task :processTestResources NO-SOURCE > Task :testClasses > Task :test > ...

Para omitir cualquier tarea de la compilación de Gradle, podemos usar la opción -x o –exclude-task . En este caso, usaremos " -x test " para omitir las pruebas de la compilación.

Para verlo en acción, ejecutemos el comando build con la opción -x :

gradle build -x test

Veremos tareas en ejecución:

> Task :compileJava NO-SOURCE > Task :processResources NO-SOURCE > Task :classes UP-TO-DATE > Task :jar > Task :assemble > Task :check > Task :build

Como resultado, las fuentes de prueba no se compilan y, por lo tanto, no se ejecutan.

3. Uso del script de compilación de Gradle

Tenemos más opciones para omitir las pruebas usando el script de compilación de Gradle. Por ejemplo, podemos omitir pruebas basadas en alguna condición o solo en un entorno particular usando el método onlyIf () . Las pruebas se omitirán si este método devuelve falso .

Saltemos las pruebas basadas en la verificación de una propiedad del proyecto:

test.onlyIf { !project.hasProperty('someProperty') }

Ahora, ejecutaremos el comando build y pasaremos someProperty a Gradle:

gradle build -PsomeProperty

Por lo tanto, Gradle omite la ejecución de las pruebas:

> ... > Task :compileTestJava > Task :processTestResources NO-SOURCE > Task :testClasses > Task :test SKIPPED > Task :check UP-TO-DATE > ...

Además, podemos excluir pruebas basadas en su paquete o nombre de clase usando la propiedad exclude en nuestro archivo build.gradle :

test { exclude 'org/boo/**' exclude '**/Bar.class' }

También podemos omitir pruebas basadas en un patrón de expresiones regulares. Por ejemplo, podemos omitir todas las pruebas cuyo nombre de clase termine con la palabra " Integración ":

test { exclude '**/**Integration' }

4. Conclusión

En este tutorial, hemos aprendido cómo omitir pruebas cuando usamos la herramienta de compilación de Gradle. También revisamos todas las opciones relevantes que podemos usar en la línea de comandos, así como las que podemos usar en los scripts de compilación de Gradle.