How to use JUnit 5 @Tag with IntelliJ and Maven
Asked Answered
J

2

2

I would like to use the @Tag available in JUnit 5 in order to easily filter my tests.

I have found in this blog input from September 2016 that IntelliJ was not supporting @Tag. Not sure what the current status is though.

Also, I am very new to using Maven but I have tried modifying the POM file in order to filter tests when executing mvn test in a command prompt. No luck.

Jeffery answered 15/3, 2017 at 11:47 Comment(1)
What exactly is not working? Can you provide an error or description? Maybe add the relevant parts of your pom file and an example of your tests (only relevant parts)Downstate
C
3

Now it is possible with Intellij IDEA 2018.1, take a look at this answer for details (including screenshot).


Also, you can see Build Support with Maven in JUnit official documentation for a proper configuration of maven-surefire-plugin. The section Filtering by Tags can be especially useful to filter tests by tags.

Example (excluding all tests with the "integration" tag):

...
<build>
    <plugins>
        ...
        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.21.0</version>
            <configuration>
                <properties>
                    <excludeTags>integration</excludeTags>
                </properties>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.junit.platform</groupId>
                    <artifactId>junit-platform-surefire-provider</artifactId>
                    <version>1.2.0</version>
                </dependency>
                ...
            </dependencies>
        </plugin>
    </plugins>
</build>
...
Calvo answered 28/6, 2018 at 23:2 Comment(0)
J
1

Here's the solution I found: changing the JUnit versions in the POM file from ...

<junit.jupiter.version>5.0.0-M2</junit.jupiter.version>
<junit.vintage.version>4.12.0-M2</junit.vintage.version>
<junit.platform.version>1.0.0-M2</junit.platform.version>

to

<junit.jupiter.version>5.0.0-M3</junit.jupiter.version>
<junit.vintage.version>4.12.0-M3</junit.vintage.version>
<junit.platform.version>1.0.0-M3</junit.platform.version>

allowed Maven to recognize the @Tag.

Jeffery answered 19/3, 2017 at 10:53 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.