我有一个包含多个模块和一个共同父模块的maven项目.在这个项目中,有一些单元测试与Junit以及surefire一起运行,以及BDD Cucumber集成测试.我想运行两个单独的作业,一个用于运行所有单元测试,另一个用于运行BDD/Integration测试.为了做到这一点,我使用Junit类注释注释了我的BDD运行器类,如下所示:
@RunWith(Cucumber.class) @CucumberOptions( tags = { "@ATagToBeRun", "~@ATagNotToBeRun","~@ToBeImplemented" }, dryRun = false, strict = true, features = "src/test/resources/cucumber/testing", glue = { "com.some.company.test", "com.some.company.another.test"}) @Category(value = IntegrationTest.class) public class FlowExecutionPojoTest { }
我在父级中创建了一个Maven配置文件,该配置文件pom
使用了maven-surefire-plugin
旨在根据组过滤测试的功能.这是我的maven配置:
info.cukes cucumber-java 1.2.4 test info.cukes cucumber-junit 1.2.4 test info.cukes cucumber-spring 1.2.4 test info.cukes cucumber-jvm-deps 1.0.5 test testJewels true ../my-module org.apache.maven.plugins maven-surefire-plugin 2.19.1 com.some.company.IntegrationTest
我所期望的是,当我运行mvn test -PtestJewels
带有
标签中包含的类别注释的类时,应该执行.实际上,没有一个带注释的类被执行.
值得注意的一点是,当我使用maven-surefire-plugin
版本2.18时,这有效,但是从版本2.18.1开始,它没有.根据页面底部的文档,版本2.18.1中有关于继承类别的更改,但在我的情况下,它们是在