我正在使用hudson CI来管理一个直接的java web项目,使用ant来构建.
我想要求单元测试覆盖率永远不会比以前的构建更差,从而确保始终测试任何新代码,或者至少覆盖范围不断改进.
是否有一个以这种方式工作的哈德森插件?
编辑:我目前正在使用艾玛,但愿意切换到另一个覆盖应用程序.
另外,作为一个澄清,我已经看到了一些Hudson插件的阈值,但这并不是我所追求的.例如,我想要的是,如果Build#12的覆盖率总体上是46%,并且有人在Build#13中检查了45%的覆盖率,则构建将会中断.
我想这样做的原因是我有一个测试覆盖率低的代码库.我们没有时间回去并追溯写单元测试,但我想确保覆盖率不断提高.
更新:Dan用我的计划指出了一个边缘案例肯定会成为一个问题.我想我需要重新考虑这是否是一个好主意.
是.您使用的是哪种覆盖工具?
Hudson的Cobertura插件绝对支持这一点.在项目配置屏幕上,您可以指定阈值.
或者,您可以通过使用cobertura-check任务使Ant失败构建(而不是Hudson).
编辑:我不确定你能做到正是你所要求的.即使你可以,也可能证明是有问题的.例如,假设您的平均覆盖率为75%,但对于一个级别,您的覆盖率为80%.如果删除该80%的类及其所有测试,则会降低整体覆盖百分比,即使其他代码都没有比以前更少的测试.