我正在开发一个使用Jenkins
作为CI服务器的.NET项目。服务器正在按预期工作,但现在我正试图在低代码覆盖率的情况下发出警报。
我正在尝试的方法是使用Sonar
来执行NUnit
和OpenCover
,但我需要链接来自{{strong>代码覆盖率指标{1}}返回Sonar
,这就是问题所在的位置。
AFAIK从Jenkins
生成的报告( coverage-report.xml )不能从OpenCover
识别出来,所以我要做的就是制作他们通过xsl文件进行交谈,该文件将( coverage-report.xml )转换为Jenkins
具有可理解插件的( emma-report.xml )。
虽然我不知道这是最好的方法。 更好的方法非常受欢迎;)我遇到了从OpenCover获取Jenkins
指标的问题(block coverage
需要此指标)。
我设法将Emma
,class, %
和method, %
所需的所有其他指标从line, %
转换为OpenCover
,但我不确定是否可以从报告中获取Emma
。
任何人都可以告诉我是否有可能或者是否有更好的方法来实现我正在尝试做的事情(也就是说,当代码覆盖率低于某个特定时,make block, %
会发出构建警报百分比)吗
提前致谢! :)
答案 0 :(得分:3)
现在看来有一个工具可以将OpenCover报告转换为Cobertura XML https://github.com/danielpalme/OpenCoverToCoberturaConverter/tree/master/OpenCoverToCoberturaConverter
讨论这个问题的主题。
答案 1 :(得分:1)
如果您从声纳gallio插件(来自sonar C# ecosystem)运行OpenCover,那么获得低代码覆盖率警报的简单解决方案可能是声纳build breaker plugin。 当覆盖率低于警报阈值时,您将获得破坏的构建。此解决方案不允许获取jenkins中的图形或趋势,但如果您使用声纳,则会在声纳仪表板中显示所有内容。 希望它有所帮助