Hopp over tester med Gradle

1. Introduksjon

Selv om det ofte er en dårlig ide å hoppe over tester, er det noen situasjoner der det kan være nyttig, og det vil spare oss litt tid. Tenk for eksempel på at vi utvikler en ny funksjon, og vi vil se et resultat i mellombyggene. I dette tilfellet kan vi hoppe over testene midlertidig for å redusere kostnadene ved å kompilere og kjøre dem. Utvilsomt kan ignorering av testene føre til mange alvorlige problemer.

I denne korte opplæringen vil vi se hvordan du hopper over tester når du bruker Gradle-bygningsverktøyet.

2. Bruke kommandolinjeflagg

La oss først lage en enkel test som vi vil hoppe over:

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

Når vi kjører bygge kommando:

gradere bygge

Vi får se løpende oppgaver:

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

For å hoppe over en hvilken som helst oppgave fra Gradle-bygningen, kan vi bruke -x eller –Ekskludere-oppgave alternativ. I dette tilfellet, vi bruker “-x test”For å hoppe over tester fra build.

For å se det i aksjon, la oss kjøre bygge kommando med -x alternativ:

gradle build -x test

Vi får se løpende oppgaver:

> Oppgave: kompilere Java NO-SOURCE> Oppgave: prosess Ressurser NO-SOURCE> Oppgave: klasser OPPTIL DATO> Oppgave: jar> Oppgave: montere> Oppgave: sjekk> Oppgave: bygge

Som et resultat blir ikke testkildene kompilert og derfor ikke utført.

3. Bruke Gradle Build Script

Vi har flere alternativer for å hoppe over tester ved hjelp av Gradle build-skriptet. For eksempel, vi kan hoppe over tester basert på en eller annen tilstand eller bare i et bestemt miljø ved hjelp av bare hvis() metode. Testene hoppes over hvis denne metoden returnerer falsk.

La oss hoppe over tester basert på å sjekke en prosjektegenskap:

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

Nå skal vi kjøre bygge kommando og pass noeEiendom til Gradle:

gradle build -PsomeProperty

Derfor hopper Gradle over å kjøre testene:

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

Videre vi kan ekskludere tester basert på pakken eller klassenavnet bruker utelukke eiendom i vår build.gradle fil:

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

Vi kan også hoppe over tester basert på et regex-mønster. For eksempel kan vi hoppe over alle tester hvis klassenavn slutter med ordet “Integrering“:

test {ekskluder '** / ** Integrasjon'}

4. Konklusjon

I denne opplæringen har vi lært hvordan du hopper over tester når du bruker Gradle byggeverktøy. Vi gikk også gjennom alle relevante alternativer som vi kan bruke på kommandolinjen, så vel som de vi kan bruke i Gradle-byggeskripter.


$config[zx-auto] not found$config[zx-overlay] not found