在Debian上使用GCC进行代码覆盖率测试,步骤如下:
安装工具:
sudo apt update
sudo apt install gcc g++ lcov
编译代码:
添加-fprofile-arcs -ftest-coverage选项,生成可执行文件及覆盖率数据文件(.gcda/.gcno):
g++ -fprofile-arcs -ftest-coverage -o my_program my_program.cpp
运行程序:
执行生成的可执行文件,触发代码路径覆盖:
./my_program
生成覆盖率报告:
lcov收集数据并生成coverage.info文件:lcov --capture --directory . --output-file coverage.info
genhtml coverage.info --output-directory out
查看报告:
通过浏览器打开out/index.html,查看代码行、函数、分支的覆盖率情况。
注:若需更高级分析,可结合Boost.Test等测试框架设计测试用例。