Java >> Java tutorial >  >> Tag >> JUnit

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 .

Java tag