Как использовать JUnit 5 @Tag с IntelliJ и Maven

Я хотел бы использовать @Tag, доступный в JUnit 5, чтобы легко фильтровать мои тесты.

Я нашел в этот блог ввод от сентября 2016 года о том, что IntelliJ не поддерживает @Tag. Хотя не уверен, каков текущий статус.

Кроме того, я очень новичок в использовании Maven, но я попытался изменить файл POM, чтобы фильтровать тесты при выполнении mvn test в командной строке. Не повезло.


person JBL    schedule 15.03.2017    source источник
comment
Что именно не работает? Можете ли вы предоставить ошибку или описание? Возможно, добавьте соответствующие части вашего файла pom и пример ваших тестов (только соответствующие части)   -  person Frnak    schedule 15.03.2017


Ответы (2)


Теперь это возможно с Intellij IDEA 2018.1, взгляните на этот ответ для получения подробной информации (включая снимок экрана).


Кроме того, вы можете увидеть Поддержка сборки с помощью Maven в официальной документации JUnit для правильной настройки maven-surefire-plugin. Раздел Фильтрация по тегам может быть особенно полезен для фильтрации тестов по тегам.

Пример (за исключением всех тестов с тегом integration):

...
<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>
...
person lcnicolau    schedule 28.06.2018

Вот решение, которое я нашел: изменение версий JUnit в файле POM с...

<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>

позволил Maven распознать @Tag.

person JBL    schedule 19.03.2017