【C++】C++ 如何进行代码覆盖率统计

目录

C++ 如何进行代码覆盖率统计?通过 lcov 这个工具。

参考:

  1. lcov收集覆盖率
  2. Linux下lcov单元测试覆盖率
  3. 关于代码覆盖lcov的使用
  4. Mac 下安装lcov

步骤:

1. 安装 lcov

Gcov是一个测试 C++ 代码覆盖率的程序。

Lcov 则是 gcov 结果展现的一个可视化工具,可以将覆盖率信息以 HTML 方式展现。

Lcov 下载地址:LCOV - the LTP GCOV extension

Mac 安装 lcov 命令:

brew install lcov

2. 添加编译参数

在 CMakeLists 中添加覆盖率编译参数:

# 添加覆盖率编译参数
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage")

然后编译、运行程序。

3. 统计覆盖率

执行 lcov 命令以统计覆盖率:

lcov --directory . --capture --output-file coverage.info

4. 可视化

genhtml -o result coverage.info

result 是一个覆盖率统计结果可视化目录,其中的 index.html 为导航页面。

脚本

覆盖率统计脚本示例:

echo "覆盖率统计..."
rm -rf ./覆盖率结果/
lcov --capture --directory ./ --output-file coverage.info || exit
# 移除不需要统计的文件
lcov --remove coverage.info '*/test/*' '*/ThirdPartyLayer/*' '/usr/include/*' -o result.info || exit
# 可视化
genhtml coverage.info --output-directory ./覆盖率结果/ || exit
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值