Qt代碼覆蓋率code coverage(VS版)


博客地址已更改,文章數量較多不便批量修改,若想訪問源文請到 coologic博客 查閱,網址:www.coologic.cn

如本文記錄地址為 techieliang.com/A/B/C/ 請改為 www.coologic.cn/A/B/C/ 即可查閱

 

版權聲明:若無來源注明, Techie亮博客文章均為原創。 轉載請以鏈接形式標明本文標題和地址:
本文標題:Qt代碼覆蓋率code coverage(VS版)     本文地址: http://techieliang.com/2017/12/493/

下述說明僅適用於VS編譯,若Mingw可直接使用gcov。

QT代碼覆蓋率測試需要使用VS的開發平台,首先利用QT_addin_vs實現QT在VS下運行。然后使用VS下的OpenCppCoverage工具進行代碼測試。由於OpenCppCoverage自身輸出的報表不好看,所以使用Jenkins工具實現對報表的優化。

實現QT在VS下運行方法見此文:Qt在VS(Visual Studio)中使用

1. OpenCppCoverage安裝

首先安裝OpenCppCoverageSetup-x86-0.9.5.2.exe 默認下一步安裝

然后安裝OpenCppCoverage-0.9.1.1.vsix,這是一個VS的插件。

兩者安裝完成以后打開VS的工具菜單可以看到:

2. 代碼覆蓋率測試

2.1. ?利用VS插件實現代碼覆蓋率測試

在程序可運行的情況下,直接點擊工具菜單下的RunOpenCppCoverage,會運行程序,然后會生成html文件,其內包含代碼覆蓋率報表。測試結果如下:

2.2. 利用cmd命令實現代碼覆蓋率測試

由於命令代碼過長,使用此方法建議用記事本重命名成.cmd文件寫代碼。

OpenCppCoverage –sources D:\QT\qt_test_vs –export_type=binary — D:\QT\qt_test_vs\debug\tst_qt_test_vstest.exe

OpenCppCoverage –sources D:\QT\qt_test_vs –export_type=html — D:\QT\qt_test_vs\debug\tst_qt_test_vstest.exe

OpenCppCoverage –sources D:\QT\qt_test_vs –export_type=cobertura — D:\QT\qt_test_vs\debug\tst_qt_test_vstest.exe

Pause

上述代碼為測試代碼,其中:

–sources D:\QT\qt_test_vs指向項目所在路徑,這個路徑下應該包含.cpp .h文件等

–export_type=XXX 為報表顯示類型,上述三行代碼分別是二進制報表、html報表、cobertura的xml報表。若不寫默認為html。

最后路徑指向被測程序exe文件。

若為html類型報表結果如下:

主頁面顯示程序整體覆蓋率

下一級顯示每個文件覆蓋率

最后點開每個文件顯示每行代碼是否覆蓋,綠色為覆蓋,紅色為未覆蓋。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM