Java >> Java tutorial >  >> Tag >> maven

JUnit 5 Tutorial:Kørsel af enhedstests med Maven

Dette blogindlæg beskriver, hvordan vi kan oprette et Maven-projekt, der kan kompilere og køre enhedstests, der bruger JUnit 5. Efter vi har afsluttet dette blogindlæg, har vi:

  • Kan få de nødvendige afhængigheder med Maven.
  • Forstå, hvordan vi kan konfigurere Maven Surefire Plugin.
  • Vid, hvordan vi kan køre vores enhedstest med Maven.

Lad os starte med at få de nødvendige afhængigheder.

Få de nødvendige afhængigheder

Vi kan få de nødvendige afhængigheder ved at tilføje junit-jupiter (version 5.8.2) afhængighed af test omfang. Dette er en aggregatorartefakt, som forenkler afhængighedsstyringen, fordi den har følgende transitive afhængigheder:

  • junit-jupiter-api afhængighed (compile scope) giver den offentlige API til at skrive test og udvidelser.
  • junit-jupiter-params afhængighed (compile scope) giver support til at skrive parameteriserede tests.
  • junit-jupiter-engine afhængighed (runtime scope) indeholder implementeringen af ​​JUnit Jupiter-testmotoren, der kører vores enhedstest. Hvis vi tilføjer denne afhængighed til vores klassesti, kan Maven Surefire og Failsafe plugins (version 2.22.0 eller nyere) køre test, der bruger JUnit 5.

Efter at vi har tilføjet den nødvendige afhængighed til vores POM-fil, er dens dependencies sektionen ser ud som følger:

<dependencies>
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter</artifactId>
        <version>5.8.2</version>
        <scope>test</scope>
    </dependency>
</dependencies>

Efter at vi har erklæret de nødvendige afhængigheder, skal vi konfigurere Maven Surefire Plugin. Lad os finde ud af, hvordan vi kan gøre det.

Konfiguration af Maven Surefire Plugin

Vi kan køre vores enhedstests ved at bruge Maven Surefire Plugin. Fordi vi ønsker at bruge dens oprindelige JUnit 5-understøttelse, er vi nødt til at bruge version 2.22.0 (eller nyere).

Efter at vi har sikret os, at vores enhedstest køres af Maven Surefire Plugin 2.22.2, er build sektionen af ​​vores POM-fil ser ud som følger:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.22.2</version>
        </plugin>
    </plugins>
</build>

Vi har nu lavet et Maven-projekt, der kan køre enhedstest, som bruger JUnit 5. Lad os gå videre og skrive en simpel enhedstest med JUnit 5.

Skriv en simpel enhedstest

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 tom testmetode til den oprettede klasse. Efter at vi har skrevet vores testklasse, ser dens kildekode ud som følger:

import org.junit.jupiter.api.Test;

class JUnit5ExampleTest {

    @Test
    void justAnExample() {

    }
}

Dernæst vil vi finde ud af, hvordan vi kan køre vores enhedstests.

Kørsel af enhedstests med Maven

Vi kan køre vores enhedstest med Maven ved at bruge kommandoen:mvn clean test . Når vi kører denne kommando ved kommandoprompt, bør vi se, at Maven Surefire Plugin kører vores enhedstests.

[INFO]
[INFO] --- maven-surefire-plugin:2.22.2:test (default-test) @ running-unit-tests ---
[INFO]
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running net.petrikainulainen.junit5.JUnit5ExampleTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.033 sec - 
in net.petrikainulainen.junit5.JUnit5ExampleTest

Results :

Tests run: 1, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

Vi kan nu oprette et Maven-projekt, der kompilerer og kører enhedstests, som bruger JUnit 5. Vi ved også, hvordan vi kan køre vores enhedstests med Maven. Lad os opsummere, hvad vi lærte af dette blogindlæg.

Oversigt

Dette blogindlæg har lært os seks ting:

  • De 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 sikrer, at Maven Surefire Plugin kan køre test, der bruger JUnit 5.
  • junit-jupiter afhængighed er en aggregatorartefakt, som forenkler afhængighedsstyringen, fordi den sikrer, at de nødvendige afhængigheder findes fra klassestien.
  • Maven Surefire Plugin 2.22.0 (eller nyere) giver indbygget support til JUnit 5.
  • Hvis vi vil bruge den indbyggede JUnit 5-understøttelse af Maven Surefire Plugin, skal vi sikre, at der findes mindst én testmotorimplementering fra klassestien.
  • Vi kan køre vores enhedstests ved at bruge kommandoen:mvn clean test .

No
Java tag