Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
-Dmaven.test.failure.ignore=true集,但在测试失败时仍会生成错误_Maven_Unit Testing_Jenkins - Fatal编程技术网

-Dmaven.test.failure.ignore=true集,但在测试失败时仍会生成错误

-Dmaven.test.failure.ignore=true集,但在测试失败时仍会生成错误,maven,unit-testing,jenkins,Maven,Unit Testing,Jenkins,我有两个不同的自由式Jenkins作业,如下所示(从作业日志中提取构建命令): mvn-Dcloudbees.private.release.repository.off=true-Dcloudbees.private.snapshot.plugin.repository.off=true-Dcloudbees.private.release.repository.off=true-Dcloudbees.private.snapshot.repository.off=true-clean org

我有两个不同的自由式Jenkins作业,如下所示(从作业日志中提取构建命令):

mvn-Dcloudbees.private.release.repository.off=true-Dcloudbees.private.snapshot.plugin.repository.off=true-Dcloudbees.private.release.repository.off=true-Dcloudbees.private.snapshot.repository.off=true-clean org.jacoco:jacoco-maven插件:准备代理安装-Dmaven.test.failure.ignore=true-V-Dcheckstyle.skip=true-Dpmd.skip=true-Dgpg.skip=true-B-e

mvn clean install cobertura:cobertura-DallTests-Dcobertura.report.format=xml-Dmaven.test.failure.ignore=true-V-Dcheckstyle.skip=true-Dpmd.skip=true

它们分别以这样的方式结束:

[ERROR]无法执行goal org.apache.maven。插件:maven surefire插件:2.12:project gora core上的测试(默认测试):存在测试失败。

[ERROR]无法执行goal org.apache.maven.plugins:maven surefire插件:2.17:project wildfly域管理上的测试(默认测试):执行goal org.apache.maven.plugins:maven surefire插件:2.17:test失败:

我所有的搜索都告诉我,
-Dmaven.test.failure.ignore=true
应该可以做到这一点,所以我被阻止了

请注意,我没有这些项目的写权限;我只是试图编译,为SonarQube分析做准备

更新1

事实证明,我有3份有这些症状的工作。记录在案的是:

  • (之前未列出)
  • -B
    添加到ActiveMQ作业(其他人已经拥有了它)将其向前移动到实际编译失败的点。不幸的是,作业仍然没有成功,因此我不能确定
    -B
    是否确实修复了作业

    我在当地试过Gora,结果和Jenkins一样

    更新2

    我在主要的Gora pom中发现了
    false
    ,但grep告诉我
    testFailureIgnore
    在Wildfly核心项目中不存在

    更新3


    Wildfly Core的失败显然可以归因于

    中的一个bug。在开始实际运行测试之前,尝试在调试模式(-X)下运行Maven,看看Maven认为该属性是什么。如果某人或某物在POM中硬编码了值(例如,
    false
    ),则可能会忽略您提供的命令行值

    还要确保Jenkins作业不是Maven作业类型。Stephen Connolly写了一篇博客文章,解释了为什么会出现这种情况,他明确提到测试忽略切换是插件在封面下修改的一项。关于该帖子的评论之一是:

    抱歉testFailureIgnore为false而不是skip为true…,例如

    
    假的
    

    这将确保模块的测试不会被跳过。。。除非Maven的工作类型是在玩弄它的自动魔法


    FWIW,我在发布的错误消息中看到了两个不同版本的surefire插件。Surefire的最新版本是2.19。版本可以更新吗?我没有更新poms的权限。我处于只读状态,试图在nemo.SonarQube.org上执行SonarQube分析。我还将尝试在调试模式(
    -X
    )下运行Maven,以查看Maven在实际运行测试之前认为该属性是什么。如果有人在POM中硬编码了值(例如,
    false
    ),那么它可能会忽略您提供的命令行值。两个作业在其整个日志中都显示
    true
    (虽然其中一个作业确实包含
    ${maven.test.failure.ignore}
    ,但我认为这意味着应该应用命令行上提供的值)我也是这样读的。我想知道我们是否会看到类似于
    false
    。如果在没有Jenkins的情况下运行构建会发生什么?詹金斯项目是自由泳还是马文?马文团队的斯蒂芬·康诺利。这些已经是自由式的工作了。我编辑了这篇文章来反映这一点。