Chromium Chronicle #18:Chromium 代码覆盖率

第 18 集:由 Veenita Joshi 和 Prakhar Asthana 出品 加利福尼亚州山景城(2021 年 2 月)
上一集

测试覆盖率衡量在特定情况下执行源代码的 测试套件运行生成覆盖率数据分为三个主要步骤:编译 使用插桩,通过运行插桩测试收集数据,以及 对数据进行后处理。覆盖率团队提供了一些工具,可自动完成此流程。

Coverage 脚本 只需一个命令即可生成代码覆盖率报告, 而无需等待 Gerrit 界面更新。 Linux、Mac、iOS 和 ChromeOS 目前支持此脚本。

以下是一个示例用法:

$ gn gen out/coverage \
    --args='use_clang_coverage=true is_component_build=false'
$ python tools/code_coverage/coverage.py \
    crypto_unittests url_unittests \
    -b out/coverage -o out/report \
    -c 'out/coverage/crypto_unittests' \
    -c 'out/coverage/url_unittests --gtest_filter=URLParser.PathURL' \
    -f url/ -f crypto/

这将构建并运行 crypto_unittestsurl_unittests targets。对于 url_unittests,则它仅运行测试 URLParser.PathURL。覆盖率 报告已过滤,仅包含 url/ 下的文件和子目录 和 crypto/。除了自动执行此流程之外,此脚本还提供 其他功能可按目录和组件查看代码覆盖率

覆盖率脚本的输出屏幕截图。 目录视图
覆盖率脚本的输出屏幕截图。 组件视图

代码覆盖率工具可提供按目录细分的代码覆盖率数据 和组件,适用于 Windows、iOS、Android、Linux 和 ChromeOS。

分享您的反馈:与 code-coverage @ chromium.org 联系或报告错误 (位于 crbug.com 上)。

资源