Linux C++ 单元测试与gcov代码覆盖率统计

来源:清泛原创     2020-12-17 21:55:21    人气:     我有话说( 0 人参与)

本文主要介绍Linux下C++单元测试下的代码覆盖率统计的方法,测试框架采用gtest,当然也可以使用其他的,这里不做过多的说明,主要介绍代码的覆盖率统计方法。一、什么是gcovgcov是

本文主要介绍Linux下C++单元测试下的代码覆盖率统计的方法,测试框架采用gtest,当然也可以使用其他的,这里不做过多的说明,主要介绍代码的覆盖率统计方法。

一、什么是gcov
gcov是gcc自带的的代码覆盖率测试工具,结合lcov可以产生图形化多维度的覆盖率报告。



二、基本使用流程






三、附录


可以过滤/剔除目录:
lcov --rc lcov_branch_coverage=1 -e xxx.tmp  '*src/*' -o xxx
lcov --rc lcov_branch_coverage=1 -r xxx.tmp '/usr/include/*' '*lib/*' -o xxx

Demo shell:
g++ --coverage demo.cpp # demo.gcno
./a.out   # demo.gcda
gcov demo # demo.cpp.gcov
cat demo.cpp.gcov

lcov --rc lcov_branch_coverage=1 -c -d . -o demo_lcov_report
#all
#genhtml --rc genhtml_branch_coverage=1 demo_lcov_report -o out_report
#filter
lcov --rc lcov_branch_coverage=1 -r demo_lcov_report '/usr/include/*' '*lib/*' -o filtered_coverage
genhtml --rc genhtml_branch_coverage=1 filtered_coverage -o filtered_out_report
(完)

c++ gtest ut gcov lcov

注:本文为本站或本站会员原创优质内容,版权属于原作者及清泛网所有,
欢迎转载,转载时须注明版权并添加来源链接,谢谢合作! (编辑:admin)
分享到: