我们使用最新的Hudson版本和ANT脚本构建我们的项目。我们已经安装了几个额外的插件(如pmd, findbugs…等),让构建变得不稳定,当一些错误发生时。由于我们通常高于那些关于pmd的数字,所以大多数构建都是不稳定的。
所以有时候我们发现的太晚了,有几个JUnit测试失败了,因为我们已经习惯了,构建是不稳定的。我知道增加PMD脚本中允许的错误数量将是一个(临时的)解决方案,并且可以修复大多数错误,但是我们更喜欢这样一个解决方案,当单元测试失败时,我们可以让构建失败,或者至少给它一个特殊的自定义状态,这样我们就可以自动得到通知,我们的测试出了问题。
你知道这个问题的解决方法吗?试试这个:
<junit haltonfailure="no" failureproperty="test.failed" ... >
...
</junit>
<fail message="Test failure detected, check test results." if="test.failed" />
这将运行所有测试,如果一个测试失败,将导致构建失败。或者,如果您想在测试失败后停止构建,将haltonfailure属性更改为yes。