C++ 测试覆盖率统计轻量方案-gtest+lcov
C++覆盖率测试的解决方案大多数都是收费的,集成方案通常比较笨重。本文介绍一种简单实用的轻量级解决办法:使用gtest和lcov快速实现C++代码的测试覆盖率统计。
依赖环境搭建
- gtest环境搭建 : C++单元测试,假定你已经搭建好gtest的开发环境,不详述。
- lcov软件安装:
- 下载lcov:http://ltp.sourceforge.net/coverage/lcov.php,有rpm包和源码包。(以源码包为例)
- 解压lcov-x.xx.tar.gz,进入源码包,执行make install
- 在命令行执行lcov -v,正确输出版本号即安装成功
所需的依赖至此已全部安装完成。
增加编译选项fprofile-arcs –ftest-coverage
要是lcov生效,需要在编译选项中新增–fprofile-arcs –ftest-coverage
,编译完成才能生成覆盖率相关的*.gcda文件。
使用方式:
- 使用gcc编译示例:
gcc –fprofile-arcs –ftest-coverage -o test test.c