2

我想使用@TagJUnit 5 中的可用功能来轻松过滤我的测试。

我在 2016 年 9 月的博客输入中发现 IntelliJ 不支持@Tag. 不知道目前的状态是什么。

此外,我对使用 Maven 非常陌生,但我尝试修改 POM 文件以便mvn test在命令提示符下执行时过滤测试。没运气。

4

2 回答 2

3

现在可以使用 Intellij IDEA 2018.1,查看此答案了解详细信息(包括屏幕截图)。


此外,您可以在 JUnit 官方文档中查看Build Support with Maven以正确配置maven-surefire-plugin. 按标签过滤部分对于按标签过滤测试特别有用。

示例(不包括所有带有“集成”标签的测试)

...
<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>
...
于 2018-06-28T23:02:17.210 回答
1

这是我找到的解决方案:将 POM 文件中的 JUnit 版本从 ...

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

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

于 2017-03-19T10:53:33.807 回答