JUnit 5 Tutorial:Kørsel af enhedstests med Gradle
Dette blogindlæg beskriver, hvordan vi kan oprette et Gradle-projekt, der kan kompilere og køre enhedstests, som bruger JUnit 5. Efter vi har afsluttet dette blogindlæg, har vi:
- Kan få de nødvendige afhængigheder med Gradle
- Forstå, hvordan vi kan bruge Gradles indbyggede JUnit 5-understøttelse.
- Kan køre vores enhedstest med Gradle.
Lad os starte med at oprette et Java-projekt.
Oprettelse af et Java-projekt
Vi kan oprette et Java-projekt ved at anvende Java-plugin'et. Når vi har anvendt dette plugin, er kildekoden til vores build.gradle fil ser ud som følger:
plugins { id 'java' }
Dernæst vil vi finde ud af, hvordan vi kan få de nødvendige afhængigheder med Gradle.
Få de nødvendige afhængigheder
Vi kan få de nødvendige afhængigheder ved at følge disse trin:
Først , skal du sikre dig, at Gradle bruger Mavens centrale lager, når det løser afhængighederne af vores Gradle-build. Efter at vi har konfigureret det brugte Maven-lager, er vores build.gradle fil ser ud som følger:
apply plugin: 'java' repositories { mavenCentral() }
Anden , tilføj junit-jupiter
(version 5.8.2) afhængighed af testImplementation
afhængighedskonfiguration. Dette er en aggregatorartefakt, som forenkler afhængighedsstyringen, fordi den har følgende transitive afhængigheder:
junit-jupiter-api
afhængighed (testImplementation
afhængighedskonfiguration) giver den offentlige API til at skrive test og udvidelser.junit-jupiter-params
afhængighed (testImplementation
afhængighedskonfiguration) giver understøttelse til at skrive parameteriserede tests.junit-jupiter-engine
afhængighed (testRuntimeClasspath
afhængighedskonfiguration) indeholder implementeringen af JUnit Jupiter-testmotoren, der kører vores enhedstest. Hvis vi tilføjer denne afhængighed til vores klassesti, kan vi køre vores tests ved at udnytte Gradles indbyggede JUnit 5-understøttelse, hvis vi bruger Gradle 4.6 eller nyere.
Efter at vi har erklæret de nødvendige afhængigheder, er vores build.gradle fil ser ud som følger:
apply plugin: 'java' repositories { mavenCentral() } dependencies { testImplementation('org.junit.jupiter:junit-jupiter:5.8.2') }
Lad os gå videre og finde ud af, hvordan vi kan aktivere Gradles oprindelige JUnit 5-understøttelse.
Aktivering af Gradle's Native JUnit 5-understøttelse
Selvom Gradle (version 4.6 eller nyere) har en indbygget understøttelse af JUnit 5, er denne understøttelse ikke aktiveret som standard. Hvis vi vil aktivere det, skal vi sikre, at test
opgave bruger JUnit 5 i stedet for JUnit 4.
Efter at vi har aktiveret Gradles indbyggede JUnit 5-understøttelse, vil kildekoden til vores build.gradle fil ser ud som følger:
plugins { id 'java' } repositories { mavenCentral() } dependencies { testImplementation('org.junit.jupiter:junit-jupiter:5.8.2') } test { useJUnitPlatform() }
Vi har nu lavet et Gradle-projekt, der kan køre enhedstest, som bruger JUnit 5. Dernæst vil vi skrive en simpel enhedstest med JUnit 5.
Skriv en simpel testklasse
Før vi kan skrive enhedstest, der bruger JUnit 5, skal vi vide disse to ting:
- src/test/java biblioteket indeholder kildekoden til vores enhedstests.
- src/test/resources biblioteket indeholder ressourcerne til vores enhedstests.
Lad os oprette en ny testklasse og tilføje en testmetode til den oprettede klasse. Denne testmetode skriver blot en besked til System.out
. Kildekoden til vores testklasse ser ud som følger:
import org.junit.jupiter.api.Test; class JUnit5ExampleTest { @Test void justAnExample() { System.out.println("This test method should be run"); } }
Lad os gå videre og finde ud af, hvordan vi kan køre vores enhedstests.
Kørsel af enhedstests med Gradle
Vi kan køre vores enhedstest med Gradle ved at bruge følgende kommando:gradle clean test . Når vi kører denne kommando ved kommandoprompten, ser vi, at Gradle kører vores enhedstest:
$ gradle clean test > Task :test net.petrikainulainen.junit5.JUnit5ExampleTest > justAnExample() STANDARD_OUT This test method should be run
Vi kan nu oprette et Gradle-projekt, der kompilerer og kører enhedstests, der bruger JUnit 5. Vi ved også, hvordan vi kan køre vores enhedstests med Gradle. Lad os opsummere, hvad vi lærte af dette blogindlæg.
Oversigt
Dette blogindlæg har lært os fem ting:
junit-jupiter-api
afhængighed leverer den offentlige API, der giver os mulighed for at skrive test og udvidelser, der bruger JUnit 5.junit-jupiter-engine
afhængighed giver os mulighed for at køre test, der bruger JUnit 5 med Gradle.junit-jupiter
afhængighed er en aggregatorartefakt, som forenkler afhængighedsstyringen, fordi den sikrer, at de nødvendige afhængigheder findes fra klassestien.- Gradle har en indbygget understøttelse af JUnit 5, men denne understøttelse er ikke aktiveret som standard.
- Vi kan køre vores enhedstests ved at bruge kommandoen:gradle clean test .