生成 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。