【问题标题】:How to let the build fail, when any JUnit test fails?当任何 JUnit 测试失败时,如何让构建失败?
【发布时间】:2013-05-24 12:16:45
【问题描述】:

我们使用最新的 Hudson 版本和 ANT 脚本来构建我们的项目。我们已经安装了几个额外的插件(如 pmd、findbugs.. 等),以使构建在发生许多错误时变得不稳定。由于我们通常高于有关 pmd 的这些数字,因此大多数构建都是不稳定的。

所以有时会发生,我们注意到为时已晚,有几个 JUnit 测试失败,因为我们已经习惯了,构建不稳定。我知道增加 PMD 脚本中允许的错误数量将是一个(临时)解决方案以及修复大多数错误,但我们更喜欢一个解决方案,当 junit 测试失败时,我们可以让构建失败,或者至少给它一个特殊的自定义状态,这样我们就会自动得到通知,我们的测试有问题。

你知道解决这个问题的方法吗?

【问题讨论】:

  • 这可能对您没有帮助,但 Maven 的默认行为是测试失败会终止构建。
  • 我们考虑在未来的项目中使用 Maven,所以这是一个有趣的信息,谢谢。但确实对于当前的问题,我需要一个不同的解决方案。

标签: java ant junit hudson


【解决方案1】:

试试这个:

<junit haltonfailure="no" failureproperty="test.failed" ... >
...
</junit>
<fail message="Test failure detected, check test results." if="test.failed" />

这将运行所有测试,如果一个测试失败,将导致构建失败。或者,如果您只想在测试失败后停止构建,请将 haltonfailure 属性更改为 yes。

【讨论】:

    猜你喜欢
    • 2013-12-12
    • 1970-01-01
    • 2015-04-25
    • 2013-05-23
    • 1970-01-01
    • 2017-12-04
    • 2013-12-01
    • 2011-05-01
    • 1970-01-01
    相关资源
    最近更新 更多