JUnit 4 и JUnit 5 – это совершенно разные фреймворки. Они оба служат одной и той же цели, но JUnit 5 – это совершенно другой тестовый фреймворк, написанный с нуля. Он не использует ничего из API JUnit 4. Здесь мы рассмотрим, как настроить JUnit 4 и JUnit 5 в наших проектах Maven. Зависимости Maven JUnit:
JUnit Maven Зависимости
Если вы хотите использовать JUnit 4, вам нужна только одна зависимость, как показано ниже.
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
JUnit 5 разделен на несколько модулей, вам нужно как минимум JUnit Platform и JUnit Jupiter для написания тестов в JUnit 5. Также обратите внимание, что для JUnit 5 требуется Java 8 или более новые версии.JUnit Jupiter
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.2.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-runner</artifactId>
<version>1.2.0</version>
<scope>test</scope>
</dependency>
Если вы хотите запускать параметризованные тесты, вам нужно добавить дополнительную зависимость.
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>5.2.0</version>
<scope>test</scope>
</dependency>
JUnit Тесты во время сборки Maven
Если вы хотите, чтобы тесты выполнялись во время сборки Maven, вам придется настроить плагин maven-surefire-plugin в вашем файле pom.xml. JUnit 4:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit4</artifactId>
<version>2.22.0</version>
</dependency>
</dependencies>
<configuration>
<includes>
<include>**/*.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
JUnit 5:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<dependencies>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>1.2.0</version>
</dependency>
</dependencies>
<configuration>
<additionalClasspathElements>
<additionalClasspathElement>src/test/java/</additionalClasspathElement>
</additionalClasspathElements>
</configuration>
</plugin>
</plugins>
</build>
Отчеты JUnit HTML
Плагин Maven Surefire генерирует текстовые и XML-отчеты, мы можем создавать отчеты на основе HTML с использованием maven-surefire-report-plugin
. Ниже приведена конфигурация, которая работает как для JUnit 4, так и для JUnit 5.
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.22.0</version>
</plugin>
</plugins>
</reporting>
Просто выполните команду mvn site
, и отчет в формате HTML будет сгенерирован в каталоге target/site/
. Вот и все для быстрого обзора настройки JUnit для проектов Maven.
Source:
https://www.digitalocean.com/community/tutorials/junit-setup-maven