如何使用 Maven surefire 排除具有给定类别的所有 JUnit4 测试?
Posted
技术标签:
【中文标题】如何使用 Maven surefire 排除具有给定类别的所有 JUnit4 测试?【英文标题】:How to exclude all JUnit4 tests with a given category using Maven surefire? 【发布时间】:2012-12-17 10:01:35 【问题描述】:我打算用@Category 注释来注释我的一些JUnit4 测试。然后,我想排除在我的 Maven 构建上运行的那类测试。
我从Maven documentation 中看到,可以指定一个测试类别 运行。我想知道如何指定要运行的测试类别不。
谢谢!
【问题讨论】:
【参考方案1】:你可以这样做:
您的 pom.xml 应包含以下设置。
<configuration>
<excludes>
<exclude>**/TestCircle.java</exclude>
<exclude>**/TestSquare.java</exclude>
</excludes>
</configuration>
如果您想要正则表达式支持,请使用
<excludes>
<exclude>%regex[.*[Cat|Dog].*Test.*]</exclude>
</excludes>
http://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html
如果要使用Category注解,需要进行如下操作:
@Category(com.myproject.annotations.Exclude)
@Test
public testFoo()
....
在你的 maven 配置中,你可以有这样的东西
<configuration>
<excludedGroups>com.myproject.annotations.Exclude</excludedGroups>
</configuration>
【讨论】:
我找不到任何引用excludedGroups
的东西
@Hafiz 阅读这个.. github.com/junit-team/junit4/wiki/categories以上是关于如何使用 Maven surefire 排除具有给定类别的所有 JUnit4 测试?的主要内容,如果未能解决你的问题,请参考以下文章
在测试执行 Maven Surefire 插件时排除日志跟踪
如何将 maven 插件转换为 gradle 插件(maven-surefire-puglin)?
如何使用 maven-surefire-plugin 在同一个项目中执行 JUnit 和 TestNG 测试?
如何使用 Maven Surefire 插件与不同的组进行测试和集成测试?