Java Maven不运行Cumber测试

Java Maven不运行Cumber测试,java,maven,cucumber,automated-tests,Java,Maven,Cucumber,Automated Tests,有人能告诉我为什么我不能使用Maven运行任何测试吗 已配置Surefire插件 粘合代码设置在runner类下 “Test”附加到runner类 注意:如果我以Junit运行我的RunnerTest.java文件,它将正确运行所有场景。只有当我使用Maven运行它时,才不会运行任何测试 我错过了任何依赖吗?还是有冲突发生? 请参考我的项目结构图片附件和我的POM文件 4.0.0 黄瓜 MavenCucumber_RocketTV 0.0.1-快照 罐子 MavenCucumber_Rock

有人能告诉我为什么我不能使用Maven运行任何测试吗

  • 已配置Surefire插件
  • 粘合代码设置在runner类下
  • “Test”附加到runner类
  • 注意:如果我以Junit运行我的
    RunnerTest.java
    文件,它将正确运行所有场景。只有当我使用Maven运行它时,才不会运行任何测试

    我错过了任何依赖吗?还是有冲突发生? 请参考我的项目结构图片附件和我的POM文件

    
    4.0.0
    黄瓜
    MavenCucumber_RocketTV
    0.0.1-快照
    罐子
    MavenCucumber_RocketTV
    http://maven.apache.org
    UTF-8
    朱尼特
    朱尼特
    4.12
    测试
    org.apache.maven.plugins
    maven编译器插件
    3.1
    测试
    org.apache.maven.plugins
    maven surefire插件
    2.18.1
    测试
    org.apache.maven.surefire
    surefire-junit4
    2.18.1
    番石榴
    番石榴
    19
    测试
    信息杯
    黄瓜汁
    1.0.3
    测试
    org.seleniumhq.selenium
    硒爪哇
    2.53.1
    测试
    org.seleniumhq.selenium
    selenium firefox驱动程序
    2.53.1
    测试
    org.seleniumhq.selenium
    selenium htmlunit驱动程序
    2.52.0
    org.seleniumhq.selenium
    硒服务器
    2.53.1
    测试
    org.seleniumhq.selenium
    硒铬驱动器
    2.53.1
    测试
    org.seleniumhq.selenium
    汽车驾驶员
    2.53.1
    测试
    org.seleniumhq.selenium
    硒旅行司机
    2.53.1
    org.apache.maven.reporting
    maven报告api
    2.2.1
    测试
    网络智囊团
    黄瓜报道
    0.0.23
    测试
    com.com软件
    json io
    2.5.1
    测试
    com.github.mkolisnyk
    黄瓜报道
    1.0.5
    测试
    信息杯
    黄瓜爪哇
    1.2.2
    测试
    信息杯
    黄瓜核
    1.2.2
    测试
    信息杯
    黄瓜刺柏
    1.2.2
    测试
    信息杯
    黄瓜皮容器
    1.2.2
    com.vimalselvam
    黄瓜延伸报告
    1.1.0
    测试
    信息杯
    黄瓜html
    0.2.3
    测试
    org.picocontainer
    微微容器
    2.2
    测试
    org.apache.commons
    commons-lang3
    3.1
    测试
    公地郎
    公地郎
    2.6
    测试
    木卫一
    java客户端
    3.2.0
    测试
    postgresql
    postgresql
    9.1-901-1.jdbc4
    测试
    com.sun
    工具
    1.6.0
    系统
    ${env.JAVA_HOME}/lib/tools.jar
    相关代码
    扩展端口
    2.41.0
    测试
    信息杯
    小黄瓜
    2.12.2
    测试
    org.json
    json
    20090211
    测试
    net.sourceforge.jexcelapi
    jxl
    2.6.12
    测试
    org.mockito
    莫基托所有
    2.0.2-beta
    测试
    org.apache.xmlgraphics
    蜡染转码器
    1.7
    测试
    org.apache.xmlgraphics
    蜡染
    1.7
    测试
    org.apache.xmlgraphics
    蜡染dom
    1.7
    测试
    org.apache.xmlgraphics
    蜡染桥
    1.7
    测试
    org.apache.xmlgraphics
    蜡染css
    1.7
    测试
    org.apache.xmlgraphics
    蜡染gvt
    1.7
    测试
    org.apache.xmlgraphics
    蜡染
    1.7
    测试
    org.apache.xmlgraphics
    蜡染分机
    1.7
    测试
    org.apache.ant
    蚂蚁结
    1.7.0
    测试
    net.sourceforge.cobertura
    科贝图拉
    2.1.1
    测试
    

    尝试将您的
    .features
    文件放入
    src\test\resources\features

    或者干脆跟着


    我在JUnit5.5.2和maven 3.6中遇到了同样的问题。IntelliJ的测试运行良好,但maven不运行测试

    Maven 3.6.0于2018年10月24日发布。此版本包括Maven Surefire插件(单元测试运行程序)的2.22.0版和Maven故障保护(集成测试运行程序)插件的2.22.0版。2.22.0版本包括对JUnit的支持


    保持所有依赖项不变,并添加maven surefire插件2.12.4为我修复了它

    在我的案例中,问题是启用了
    dryRun

    @RunWith(Cucumber.class)
    @CucumberOptions(
            plugin = {"pretty"}, dryRun = true,
            features = "src/test/resources/features",
            glue = "com/exelate/cucumber")
    public class CucumberRunnerTest {
    }
    

    dryRun
    设置为true意味着仅检查功能文件中提到的每个步骤是否在步骤定义文件中写入了相应的代码。删除它后,我发现当其中一个场景失败时,
    maven clean install
    会失败(这是预期的结果)。

    添加surefire插件为我解决了这个问题

    <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>3.0.0-M4</version>
                    <configuration>
                        <includes>
                            <include>**/CucumberRunner*.java</include>
                        </includes>
                        <testFailureIgnore>true</testFailureIgnore>
                    </configuration>
                </plugin>
    
    
    org.apache.maven.plugins
    maven surefire插件
    3.0.0-M4
    **/CucumberRunner*.java
    真的
    
    Rai Gupta的观点是正确的。对我来说,依赖性也是一个问题

    我看到太多的“用测试附加你的runner类,将runner类移动到测试文件夹”等等,这些都没有意义,因为你只是一个des
    @RunWith(Cucumber.class)
    @CucumberOptions(
            plugin = {"pretty"}, dryRun = true,
            features = "src/test/resources/features",
            glue = "com/exelate/cucumber")
    public class CucumberRunnerTest {
    }
    
    <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>3.0.0-M4</version>
                    <configuration>
                        <includes>
                            <include>**/CucumberRunner*.java</include>
                        </includes>
                        <testFailureIgnore>true</testFailureIgnore>
                    </configuration>
                </plugin>
    
    <!-- https://mvnrepository.com/artifact/junit/junit -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.1</version>
        <scope>test</scope>
    </dependency>
    
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.12.4</version>