我想用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