我想用Cobertura设置我的Jenkins以跟踪代码覆盖率。 不幸的是,我无法生成有效的XML。GCovr不会生成有效报告
我使用:
- gcovr 2.5抢鲜(r2774)
- 的Xcode 4.6.1生成版本4H512
我的项目是生成的代码覆盖率文件正确,但报告用gcovr创建没有用。
我用它来生成报告的命令是:
gcovr -r /Users/Shared/Jenkins/Home/jobs/CodeCoverage/workspace
--object-directory /Users/Shared/Jenkins/Home/Library/Developer/Xcode/DerivedData/myProject-aooceqwwovrizceerghqvhflcfty//Build/Intermediates/myProject.build/Development/myProject.build/Objects-normal/x86_64
--exclude '.*Developer.*'
--exclude '.*Tests.*'
--xml
这将创造我这样的输出:
<?xml version="1.0" ?>
<!DOCTYPE coverage SYSTEM 'http://cobertura.sourceforge.net/xml/coverage-03.dtd'>
<coverage branch-rate="0.0" line-rate="0.0" timestamp="1364322914" version="gcovr 2.5-prerelease (r2774)">
<sources>
<source>
/Users/Shared/Jenkins/Home/jobs/CodeCoverage/workspace/Project/myProject/
</source>
</sources>
<packages/>
</coverage>
附加信息:
如果我删除--object -directory和-r,然后从派生数据目录执行命令生成有效的报告。该报告可以从cobertura中读取,但不能显示关于源文件的任何详细信息。
其实,我辞职了使用gcovr 。我正在使用一组shell脚本来生成XML。首先我运行gcov,然后排除特殊注释之间的某些行(我正在使用CoverStory),然后从gcov输出的第一列生成XML。这实际上非常简单,您还可以直接在工作区中引用源文件,以便您可以轻松查看jenkins上的文件覆盖范围。 – Sulthan 2013-03-26 18:59:17
@Sulthan你可能会分享你的脚本吗?我无法让gcovr使用Xcode 5生成的文件,我正在寻找不同的解决方案。谢谢! – SAE 2013-11-06 22:18:32