我想使用@Tag
JUnit 5 中的可用功能来轻松过滤我的测试。
我在 2016 年 9 月的博客输入中发现 IntelliJ 不支持@Tag
. 不知道目前的状态是什么。
此外,我对使用 Maven 非常陌生,但我尝试修改 POM 文件以便mvn test
在命令提示符下执行时过滤测试。没运气。
我想使用@Tag
JUnit 5 中的可用功能来轻松过滤我的测试。
我在 2016 年 9 月的博客输入中发现 IntelliJ 不支持@Tag
. 不知道目前的状态是什么。
此外,我对使用 Maven 非常陌生,但我尝试修改 POM 文件以便mvn test
在命令提示符下执行时过滤测试。没运气。
现在可以使用 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>
...
这是我找到的解决方案:将 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。