Saltare i test con Gradle

1. Introduzione

Sebbene saltare i test di solito sia una cattiva idea, ci sono alcune situazioni in cui potrebbe essere utile e ci farà risparmiare un po 'di tempo. Ad esempio, si consideri che stiamo sviluppando una nuova funzionalità e vogliamo vedere un risultato nelle build intermedie. In questo caso, potremmo saltare temporaneamente i test per ridurre il sovraccarico di compilazione ed esecuzione. Indubbiamente, ignorare i test può causare molti problemi seri.

In questo breve tutorial, vedremo come saltare i test quando si utilizza lo strumento di compilazione Gradle.

2. Utilizzo dei flag della riga di comando

Per prima cosa, creiamo un semplice test che vogliamo saltare:

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

Quando eseguiamo il comando build :

gradle build

Vedremo attività in esecuzione:

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

Per saltare qualsiasi attività dalla build Gradle, possiamo usare l' opzione -x o –exclude-task . In questo caso, useremo " -x test " per saltare i test dalla build.

Per vederlo in azione, eseguiamo il comando build con l' opzione -x :

gradle build -x test

Vedremo attività in esecuzione:

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

Di conseguenza, i sorgenti di test non vengono compilati e, pertanto, non vengono eseguiti.

3. Utilizzo dello script di build Gradle

Abbiamo più opzioni per saltare i test usando lo script di build Gradle. Ad esempio, possiamo saltare i test basati su alcune condizioni o solo in un particolare ambiente utilizzando il metodo onlyIf () . I test verranno ignorati se questo metodo restituisce false .

Saltiamo i test basati sul controllo di una proprietà del progetto:

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

Ora eseguiremo il comando build e passeremo alcune proprietà a Gradle:

gradle build -PsomeProperty

Pertanto, Gradle salta l'esecuzione dei test:

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

Inoltre, possiamo escludere i test in base al loro pacchetto o al nome della classe utilizzando la proprietà exclude nel nostro file build.gradle :

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

Possiamo anche saltare i test basati su un pattern regex. Ad esempio, possiamo saltare tutti i test il cui nome di classe termina con la parola " Integration ":

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

4. Conclusione

In questo tutorial, abbiamo imparato come saltare i test quando si utilizza lo strumento di compilazione Gradle. Abbiamo anche esaminato tutte le opzioni rilevanti che possiamo usare sulla riga di comando, così come quelle che possiamo usare negli script di build Gradle.