7

我正在开发一个Jenkins用作 CI 服务器的 .NET 项目。服务器正在按预期工作,但现在我正试图让它在代码覆盖率低的情况下发出警报。

我正在尝试的方法是Sonar用来执行NUnitand OpenCover,但是我需要将代码覆盖率指标从Sonar后面链接到Jenkinsand 这就是问题所在。

AFAIK从OpenCovercoverage-report.xml)生成的报告原样,无法识别,Jenkins所以我想要做的是让他们通过将(coverage-report.xml)转换为(emma )的xsl文件进行交谈-report.xml )Jenkins具有可以理解的插件。

虽然我不知道这是最好的方法。更好的方法非常受欢迎;)我面临着block coverage从 OpenCover 获取指标的问题(Emma需要这个指标)。

我已经设法将所需的所有其他指标class, %从转换为method, %,但我不确定是否可以从报告中获取。line, %OpenCoverEmmablock, %

谁能告诉我是否有可能,或者是否有更好的方法来实现我正在尝试做的事情(即,Jenkins当代码覆盖率低于一定百分比时发出构建警报)?

提前致谢!:)

4

2 回答 2

3

看起来现在有一个工具可以将 OpenCover 报告转换为 Covertura XML https://github.com/danielpalme/OpenCoverToCoberturaConverter/tree/master/OpenCoverToCoberturaConverter

讨论这个的线程。

http://reportgenerator.codeplex.com/discussions/398788

于 2013-03-20T17:14:55.943 回答
1

如果您从 sonar gallio 插件(来自sonar C# 生态系统)运行 OpenCover,则获取低代码覆盖率警报的简单解决方案可能是sonar buildbreaker plugin。当覆盖率低于警报阈值时,您将获得损坏的构建。此解决方案不允许在 jenkins 中获取图表或趋势,但同样,如果您使用声纳,您在声纳仪表板中拥有一切。希望能帮助到你

于 2012-09-12T20:16:10.993 回答