The Maven Failsafe plugin won't find my JUnit 5 integration tests when I'm running the command mvn clean failsafe:integration-test
, although it can find the files.
I have the junit-jupiter-api
and junit-jupiter-engine
as test dependencies:
<properties>
<junit.jupiter.version>5.0.1</junit.jupiter.version>
</properties>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>${junit.jupiter.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit.jupiter.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
My integration tests are named correctly (following the **/*IT.java
, **/IT*.java
, or the **/*ITCase.java
that included by default by Failsafe and excluded by default by Surefire).
Is there any way that I can use JUnit 5 tests with Failsafe?
Note that from the JUnit 5 documentation : junit-platform-surefire-provider
should be not used any longer :
Due to the release of Surefire
2.22.0
, thejunit-platform-surefire-provider
from the JUnit team has been deprecated and will be discontinued in a subsequent release of the JUnit Platform.
Additionally, you can also read in the maven-surefire-plugin
documentation :
Using JUnit 5 Platform
To get started with JUnit Platform, you need to add at least a single
TestEngine
implementation to your project. For example, if you want to write tests with Jupiter, add the test artifactjunit-jupiter-engine
to the dependencies in POM
So you have to specify this test
dependency :
<properties>
<junit-jupiter.version>5.2.0</junit-jupiter.version>
</properties>
<dependencies>
[...]
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit-jupiter.version}</version>
<scope>test</scope>
</dependency>
[...]
</dependencies>
And the maven-failsafe-plugin
declaration could be as simple as :
<build>
<plugins>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.22.0</version>
</plugin>
</plugins>
</build>