產生 GCC 代碼覆蓋率報告
網站和文件 • bugtracker • GitHub
Gcovr 提供了一個實用程序,用於管理 GNU gcov 實用程式的使用並產生匯總的程式碼覆蓋率結果。該命令的靈感來自 Pythoncoverage.py 包,它為 Python 提供了類似的實用程式。
gcovr
指令可以產生不同類型的覆蓋率報告:
CLI 選項 | 使用者指南 | 描述 |
---|---|---|
預設值, --txt | 文字輸出 | 緊湊的人類可讀摘要 |
--html | HTML 輸出 | 所有文件的概覽 |
--html-details | HTML 輸出 | 帶註釋的來源文件 |
--html-template-dir | HTML 輸出 | 使用 Jinja2 範本的自訂集 |
--csv | CSV 輸出 | CSV 報告總結了每個文件的覆蓋範圍 |
--json | JSON 輸出 | 包含原始檔案結構和覆蓋範圍的 JSON 報告 |
--json-summary | JSON 輸出 | JSON 摘要覆蓋率報告 |
--clover | 三葉草 XML 輸出 | Clover 格式的機器可讀 XML 報告 |
--cobertura | Cobertura XML 輸出 | Cobertura 格式的機器可讀 XML 報告 |
--coveralls | 工作服 JSON 輸出 | Coveralls 格式的機器可讀 JSON 報告 |
--jacoco | JaCoCo XML 輸出 | JaCoCo 格式的機器可讀 XML 報告 |
--lcov | LCOV 資訊輸出 | LCOV 資訊格式的機器可讀報告 |
--sonarqube | SonarQube XML 輸出 | SonarQube 格式的機器可讀 XML 報告 |
因此,gcovr 可以被視為 lcov 實用程式的命令列替代品,它運行 gcov 並產生 HTML 格式的報告。 gcovr 的開發是出於對文字摘要和 XML 報告的需求。
HTML 摘要範例:
HTML 詳細資訊範例:
Gcovr 作為 Python 套件提供,可以透過 pip 安裝。
從 PyPI 安裝最新的穩定gcovr
版本:
pip install gcovr
從 GitHub 安裝開發版本(至少需要 21.3 版本的 pip):
pip install git+https://github.com/gcovr/gcovr.git
GCC 可以偵測可執行檔以發出覆蓋率資料。您需要使用以下標誌重新編譯程式碼:
--覆蓋-g -O0
接下來,運行您的測試套件。這將生成原始覆蓋率文件。
最後,調用 gcovr。這將在控制台上列印表格報告。
總冠狀病毒
您也可以產生詳細或嵌套的 HTML 報告:
gcovr --html-詳細資料覆蓋率.html gcovr --html-巢狀覆蓋率.html
Gcovr 將為每個來源檔案建立一個 HTML 報告,對於--html-nested
也會為coverage.html 摘要旁邊的每個目錄建立一個 HTML 報告。
您應該從建置目錄執行 gcovr。 -r
選項應指向項目的根目錄。僅當您有單獨的建置目錄時才重要。例如:
光碟建置; gcovr-r ..
如需完整文檔,請閱讀手冊。
如果您想報告錯誤或為 gcovr 開發做出貢獻,請先閱讀我們的貢獻指南:https://gcovr.com/en/latest/contributing.html
該軟體根據 3 條款 BSD 許可證分發。有關詳細信息,請參閱 https://gcovr.com/en/latest/license.html#license-terms。有關貢獻者的完整列表,請參閱 https://gcovr.com/en/latest/license.html#acknowledgements。