【问题标题】:Maven reporting plugins do not execute if a unit test failure occurs如果发生单元测试失败,Maven 报告插件不会执行
【发布时间】:2011-04-20 01:07:33
【问题描述】:

如果单元测试失败,Maven 报告部分中的任何插件都不会执行。

我发现我可以在这里设置 maven.test.failure.ignore=true - http://jira.codehaus.org/browse/SUREFIRE-247 这种方法的问题是现在我们的 hudson 构建是成功的,即使有单元测试失败。

我真正想做的是将报告插件 maven-surefire-report-plugin 设置为在一个阶段与构建插件一起运行,但我无法让它工作。

如果发生单元测试失败,您知道如何让 Maven 报告插件执行吗?

【问题讨论】:

  • 你有没有想过解决这个问题的方法?

标签: maven-2 hudson


【解决方案1】:

首先运行:mvn test OR mvn install 然后,如果测试失败,请运行以下目标以生成上面执行的测试结果的报告:mvn -Dmaven.test.skip=true surefire-report:report

【讨论】:

  • 这可行,但我不确定如何在 hudson CI 构建中做到这一点。关于如何做到这一点的任何建议?感谢您的帮助!
  • 尝试创建两个 Hudson 作业,使其指向项目的一个工作区。在第一份工作中尝试运行 mvn test 或 mvn install 并在另一个工作中执行 mvn -Dmaven.test.skip=true surefire-report:report (不要在第二份工作中运行 mvn clean)
【解决方案2】:

在您发布的链接中:

使用最新版本(2.1.2),我得到 一条消息说“有一些 测试失败”,但我没有收到任何报告 无论我是否指定 变量,或者我是否指定 插件中的“testFailureIgnore” 配置。我得到了很好的报告 2.0,但不是 2.1.2。

您需要 2,1 版本还是可以使用 2.0 版本的 Maven?

【讨论】:

  • 由于该评论已超过四年,因此我忽略了版本问题。我们目前使用的是 2.2.1,我认为目前无法恢复到 2.0。
  • ups 对不起,应该找那个。
【解决方案3】:

您在 2.1.2 中看到的错误是因为您需要在插件中执行的 forkmode 设置。

设置 forkmode=never 并尝试一下(我怀疑你的 useSystemclassloader 属性可能有问题)。

否则,请使用 maven-surefire 插件版本 2.5,即使很少有测试失败,它也应该可以正常工作并生成surefire rpeorts。

【讨论】:

  • 我遇到的问题是在 maven-surefire-report-plugin 中。我实际上是在使用 maven-surefire-report-plugin 从 flexMojos 创建的 surefire 报告中创建报告。也许这是我应该包括的一个细节,但我看不出 maven-surefire-report-plugin 应该如何依赖于 maven-surefire-plugin 中的行为。
  • 首先运行:mvn test OR mvn install 然后,如果测试失败,请运行以下目标以生成上面执行的测试结果的报告: mvn -Dmaven.test.skip=true surefire-report :报告
【解决方案4】:

如果报告在执行后已经生成,请使用surefire-report:report-only插件。

【讨论】:

  • 所以我正在运行 'mvn install surefire-report:report-only' 但是一旦在安装目标期间发生单元测试失败,surefire-report 插件就永远不会运行(同样的问题)
【解决方案5】:

我遇到了同样的问题,这是由于对报告插件的错误调用造成的。

maven命令的正确执行是:mvn surefire-report:report

这将自行运行测试阶段,如果失败,它将生成报告。

查看文档: http://maven.apache.org/surefire/maven-surefire-report-plugin/report-mojo.html

希望这会有所帮助!! :D

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-18
    • 1970-01-01
    • 2015-11-15
    • 2018-03-04
    相关资源
    最近更新 更多