Spring spring over test med gradle

1. Introduktion

Selvom springprøver normalt er en dårlig idé, er der nogle situationer, hvor det kan være nyttigt, og det vil spare os noget tid. Overvej for eksempel, at vi udvikler en ny funktion, og vi vil se et resultat inden for de mellemliggende builds. I dette tilfælde springer vi muligvis over testene midlertidigt for at reducere omkostningerne ved kompilering og kørsel af dem. Utvivlsomt kan ignorering af testene forårsage mange alvorlige problemer.

I denne korte vejledning ser vi, hvordan man springer tests over, når man bruger Gradle-byggeværktøjet.

2. Brug af kommandolinjeflag

Lad os først oprette en simpel test, som vi vil springe over:

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

Når vi kører bygge kommando:

gradle build

Vi ser løbende opgaver:

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

For at springe enhver opgave fra Gradle-bygningen over, kan vi bruge -x eller –Ekskluder-opgave mulighed. I dette tilfælde, vi bruger “-x test”For at springe test over fra build.

For at se det i aktion, lad os køre bygge kommando med -x mulighed:

gradle build -x test

Vi ser løbende opgaver:

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

Som et resultat kompileres testkilderne ikke og udføres derfor ikke.

3. Brug af Gradle Build-scriptet

Vi har flere muligheder for at springe tests over ved hjælp af Gradle build-scriptet. For eksempel, vi kan springe test over baseret på en eller anden tilstand eller kun i et bestemt miljø ved hjælp af kun hvis() metode. Test springes over, hvis denne metode vender tilbage falsk.

Lad os springe over tests baseret på kontrol af en projektegenskab:

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

Nu kører vi bygge kommando og pas nogetEjendom til Gradle:

gradle build -PsomeProperty

Derfor springer Gradle igennem testene:

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

I øvrigt, Vi kan ekskludere tests baseret på deres pakke eller klasse navn bruger udelukke ejendom i vores build.gradle fil:

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

Vi kan også springe test over på et regex-mønster. For eksempel kan vi springe alle prøver over, hvis klassenavn slutter med ordet “Integration“:

test {ekskluder '** / ** Integration'}

4. Konklusion

I denne vejledning har vi lært, hvordan man springer test over, når man bruger Gradle build-værktøjet. Vi gennemgik også alle de relevante muligheder, som vi kan bruge på kommandolinjen, såvel som dem, vi kan bruge i Gradle build-scripts.