如何将dotcover.exe生成的覆盖率报告转为Cobertura/OpenClover XML并集成到Jenkins
把dotCover报告转成Cobertura/OpenClover格式集成到Jenkins
我来帮你搞定这个转换的事儿,其实dotCover本身就支持直接导出成Cobertura格式的XML,不用额外找第三方工具,步骤很清晰:
方法一:直接用dotCover CLI生成/转换Cobertura格式
不管你已经有了现成的dotCover快照文件,还是想在测试阶段直接输出Cobertura报告,都能用命令行搞定:
1. 转换已有的dotCover快照(.dcvr文件)
如果你已经通过dotCover生成了.dcvr格式的覆盖率快照,只需要执行dotcover report命令就能转成Cobertura XML:
dotcover report /Source:"D:\builds\coverage.dcvr" /Output:"D:\builds\cobertura-coverage.xml" /ReportType:Cobertura
参数说明:
/Source:填你已有的dotCover快照文件的绝对路径/Output:指定转换后Cobertura XML的输出路径/ReportType:Cobertura:明确告诉dotCover要生成Cobertura格式的报告
2. 测试时直接生成Cobertura报告
如果还没生成快照,可以把测试执行和覆盖率报告生成合并成一步,比如配合NUnit或xUnit:
dotcover cover /TargetExecutable:"C:\tools\nunit3-console.exe" /TargetArguments:"D:\tests\MyTestAssembly.dll" /Output:"D:\builds\coverage.dcvr" /ReportType:Cobertura /ReportOutput:"D:\builds\cobertura-coverage.xml"
这样跑完测试后,会同时生成dotCover快照和Cobertura XML文件,一步到位。
方法二:转换为OpenClover格式(可选)
dotCover本身不直接支持导出OpenClover,但如果你的Jenkins环境依赖这个格式,可以先转成Cobertura,再用转换工具处理。比如用Java的cobertura-to-clover工具:
java -jar cobertura-to-clover.jar D:\builds\cobertura-coverage.xml D:\builds\clover-coverage.xml
不过这里要提一句:Jenkins的Cobertura插件已经能完美解析Cobertura格式的报告,展示覆盖率图表、历史趋势这些功能都很全,大部分场景下没必要转OpenClover,直接用Cobertura格式更省心。
最后:Jenkins集成小提示
转换好XML文件后,在Jenkins里做这两步就能展示覆盖率了:
- 安装Jenkins的「Cobertura Plugin」插件
- 在构建后步骤里添加「Publish Cobertura Coverage Report」,指定你生成的Cobertura XML文件路径,保存配置后下次构建就能看到覆盖率数据了。
内容的提问来源于stack exchange,提问作者irusul
相关产品推荐
相关产品推荐

