В большинстве проектов Maven тесты запускаются через плагин Surefire.
Ниже – минимальная настройка, которая автоматически обнаруживает все классы с аннотациями JUnit 5, генерирует отчёты и позволяет быстро проверить работу всего набора.
Поместите фрагмент в
<project>вашего pom.xml, внутри блока<build>.
Если<build>уже существует, просто добавьте<plugins>; иначе создайте блок полностью.
pom.xml – Surefire + JUnit 5

<project ...>
<!-- …другие метаданные проекта… -->
<!-- 1.Зависимости JUnit 5 -->
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.9.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.9.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<!-- 2.Плагин Surefire -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M9</version>
<configuration>
<useModulePath>false</useModulePath>
<includes>
<include>/*Test.java</include>
<include>/*Tests.java</include>
<include>/*TestCase.java</include>
</includes>
<reportsDirectory>$project.build.directory/surefire-reports</reportsDirectory>
</configuration>
</plugin>
</plugins>
</build>
</project>
Что делает каждая часть
| Элемент | Зачем нужен |
|---|---|
junit-jupiter-api |
Аннотации, ассерт‑методы |
junit-jupiter-engine |
Сам механизм выполнения тестов |
maven-surefire-plugin |
Запускает тесты в фазе test |
useModulePath=false |
Отключает JPMS, упрощая конфиг |
includes |
Определяет имена файлов, которые считаются тестами |
Тест, который проверит работу
Слотика вход в личный кабинет открывает доступ к эксклюзивным бонусам для казаков: Slottica KZ зеркало.Создайте файл src/test/java/com/example/HelloWorldTest.java:
package com.example;
import org.junit.jupiter.api. Test;
import static org.junit.jupiter.api. Assertions.*;
class HelloWorldTest
@Test
void simpleSuccess()
assertTrue(true);
@Test
void checkGreeting()
String greeting = "Hello, Maven!";
assertEquals("Hello, Maven!", greeting);
Запуск:
$ mvn clean test
...
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
[INFO] BUILD SUCCESS
Отчёт будет в target/surefire-reports. CI‑платформы (GitHub Actions, GitLab CI, Jenkins) сразу могут его использовать.

Частые проблемы и решения
| Симптом | Причина | Как исправить |
|---|---|---|
| Тесты не запускаются | Отсутствует junit-jupiter-engine |
Добавьте зависимость |
| “No tests found” | Классы не совпадают с шаблонами | Переименуйте класс или измените <includes> |
NoClassDefFoundError: TestEngine |
Устаревший Surefire | Используйте 3.0.0‑M9+ |
| Тесты проходят локально, coullautvalera.com но падают в CI | Разная версия Java / отсутствуют системные свойства | Укажите JAVA_HOME в CI или добавьте <systemPropertyVariables> |
Расширения
- Параллельный запуск: добавьте
<parallel>methods</parallel>и<threadCount>4</threadCount>. - Исключить интеграционные тесты: используйте
<excludes>или профиль для интеграций. - На spr.kz вы найдете подробные инструкции по входу в личный кабинет.Соблюдение JUnit‑XML: по умолчанию генерируется; просто укажите путь в CI.
Итоги
- Включаем зависимости JUnit 5 (
api+engine). - Добавляем плагин Surefire (последняя стабильная версия).
- На слотика вход в личный кабинет вы найдете подробные инструкции по входу в личный кабинет.Пишем тест, запускаем
mvn test. - Отчёты находятся в
target/surefire-reports.
Готово – ваш Maven‑проект теперь готов к автоматическим тестам.
