IntelliJ IDEA+Maven+JUnit5
Начал изучать данную связку.
В pom.xml кроме собственно junit-jupiter подключил еще через build-plugins-plugin maven-surefire-plugin (с версией по умолчанию Junit5 не работал)
Тесты проходят, но не отрабатывается @DisplayName (Ну или я не знаю, куда у неё вывод по умолчанию).
При запуске тестов непосредственно из Идеи Run 'All Tests' всё проходит нормально.
Соответственно вопрос - что я в Мейвене не доконфигурировал?
Ответы (1 шт):
@DisplayName отображается в выводе тестов, когда используется инфраструктура вывода тестов, поддерживаемая JUnit. Для того, чтобы это работало в Maven, необходимо настроить конфигурацию плагина maven-surefire-plugin. Для этого можно добавить следующий код в pom.xml:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<argLine>
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
</argLine>
<properties>
<property>
<name>listener</name>
<value>org.junit.platform.console.tasks.ConsoleListener</value>
</property>
</properties>
</configuration>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
Также необходимо добавить следующую зависимость в pom.xml:
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-console</artifactId>
<version>1.6.2</version>
<scope>test</scope>
</dependency>
После этого перезапустите ваш проект и проверьте, что отображается @DisplayName в выводе тестов в Maven.