1.增加编译和链接的参数:-fprofile-arcs -ftest-coverage
以Eclipse为例,为一个C++工程增加上述参数:
Project->Properties->C/C++ Build->Settings->GCC C++ Compiler->Command: 输入 g++ -fprofile-arcs -ftest-coverage
Project->Properties->C/C++ Build->Settings->GCC C++ Linker->Command: 输入 g++ -fprofile-arcs -ftest-coverage
Project->Properties->C/C++ Build->Settings->GCC C++ Compiler->Command: 输入 g++ -fprofile-arcs -ftest-coverage
Project->Properties->C/C++ Build->Settings->GCC C++ Linker->Command: 输入 g++ -fprofile-arcs -ftest-coverage
2.清空并Build整个工程。
3.运行可执行文件或测试。
4.生成某文件的覆盖率报告。
例如:
sudo gcov ../src/clist.cpp -o ../Debug/src/
因为gcov需要读取和创建文件,所以建议使用sudo来执行。
../src/clist.cpp 表示要分析的源文件。
-o参数表示.o文件所在位置
执行完后,在当前目录下会生成clist.cpp.gcov,这就是该文件的覆盖率报告。
5.查看覆盖率报告
查看clist.cpp.gcov文件,里面带有“####”标记的行表示未被覆盖到的行。
补充:代码覆盖率检查配合单元测试一起进行,对于代码质量的检验效果更好!
本文介绍如何通过GCC编译器设置代码覆盖率参数,并利用gcov工具生成及解读覆盖率报告,帮助开发者有效提升代码质量和测试覆盖率。
4万+

被折叠的 条评论
为什么被折叠?



