gpt4 book ai didi

maven - -Dmaven.test.failure.ignore=true 设置,但在测试失败时构建仍然错误

转载 作者:行者123 更新时间:2023-12-04 21:11:38 26 4
gpt4 key购买 nike

我有两个不同的自由式 Jenkins 作业,它们是这样开始的(从作业日志中提取的构建命令):
mvn -Dcloudbees.private.release.repository.off=true -Dcloudbees.private.snapshot.plugin.repository.off=true -Dcloudbees.private.release.plugin.repository.off=true -Dcloudbees.central.repository.off=true -Dcloudbees.private.snapshot.repository.off=true clean org.jacoco:jacoco-maven-plugin:prepare-agent install -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] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test) on project gora-core: There are test failures.[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.17:test (default-test) on project wildfly-domain-management: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.17:test failed:
我所有的搜索都告诉我 -Dmaven.test.failure.ignore=true应该做的伎俩,所以我受阻。

请注意,我对这些项目没有写权限;我只是在尝试编译以准备 SonarQube 分析。

更新 1

结果我有 3 个有这些症状的工作(并且还在增加)。为了记录,它们是:

  • ActiveMQ (以前未列出)
  • Wildfly Core
  • Gora

  • 新增 -B到 ActiveMQ 作业(其他人已经拥有它)将其向前移动到实际编译失败的点。不幸的是,工作仍然没有成功,所以我不能确定 -B实际上修复了工作。

    我在本地尝试了 Gora,结果与 Jenkins 相同。

    更新2

    我已经找到了 <testFailureIgnore>false</testFailureIgnore>在主要的 Gora pom 中,但 grep 告诉我 testFailureIgnore在 Wildfly Core 项目中无处可去。

    更新3

    Wildfly Core 的失败显然可以归结为 Surefire 2.17 中的一个错误。

    最佳答案

    尝试在 Debug模式 (-X) 下运行 Maven,以查看 Maven 在开始实际运行测试之前认为该属性是什么。如果某人或某物在 POM 中对值进行了硬编码(例如 <testFailureIgnore>false</testFailureIgnore> ),那么它可能会忽略您提供的命令行值。

    还要确保 Jenkins 作业不是 Maven 作业类型。 Stephen Connolly 写了一篇关于为什么 Jenkins Maven job type is evil 的博客文章他明确提到测试忽略切换是插件在幕后修改的一项。该帖子的评论之一是:

    sorry testFailureIgnore is false not skip is true..., e.g.

    <configuration>
    <testFailureIgnore>false</testFailureIgnore>
    <configuration>

    which will ensure that the module's tests cannot be skipped... except when the Maven job type is playing fast and loose with its auto-magic

    关于maven - -Dmaven.test.failure.ignore=true 设置,但在测试失败时构建仍然错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33244655/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com