2013-05-29 71 views
3

我们使用最新的Hudson版本和ANT脚本来构建我们的项目。我们已经安装了几个额外的插件(如pmd,findbugs等),以便在发生大量错误时使构建变得不稳定。由于我们通常高于有关pmd的数字,因此大多数构建都不稳定。当任何JUnit测试失败时如何让构建失败?

所以有时会发生,我们注意到太迟了,有几个JUnit测试失败,因为我们习惯了,所以构建不稳定。我知道在PMD脚本中增加允许的错误数量将是一个(临时)解决方案,并且可以解决其中大部分错误,但是我们更喜欢解决方案,在这种情况下,如果junit测试失败,我们可以让构建失败,或者至少给它一个特殊的自定义状态,所以我们会自动得到通知,我们的测试有些问题。

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

+0

这可能不会对你有所帮助,但Maven的默认行为是测试失败会导致构建失败。 –

+0

我们考虑在未来的项目中使用Maven,所以这是一个有趣的信息,谢谢。但确实对于目前的问题,我将需要一个不同的解决方案。 – crusam

回答

7

试试这个:

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

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

+0

感谢,作品像一个魅力! – crusam