【linux+gcov+lcov】linux下借助gcov和lcov工具实现单元测试覆盖率统计练习

1、gcov

Linux下代码覆盖率工具,属于gcc工具集之一,随gcc一起发布,不需要独立安装。

使用gcov -v 可以查看gcov的版本信息,如下:

2、lcov

lcov是gcov的图形化工具,可生成html格式的代码覆盖率报告,提高覆盖率检测结果的可读性。

lcov需要自己下载的开源软件,下载地址如下:

https://sourceforge.net/projects/ltp/files/Coverage%20Analysis/

3、lcov的手动安装

(1)进入到.tar.gz所在的目录;

(2)执行如下命令:tar -zxvf lcov-1.14.tar.gz

==》以lcov-1.14版本安装为例。

(3)cd  lcov-1.14

(4)make install

(5)lcov -v  //查看版本信息

[root@zxomc lcov-1.14]# lcov -v

lcov: LCOV version 1.14

4、使用gcov的方法

(1)增加编译选项

#coverage--- gcda file ,arcs---gcdo file

CFLAGS+=-fprofile-arcs -ftest-coverage

其中-fprofile-arcs用于生成.gcno文件,-ftest-coverage用于生成.gcda文件

(2)链接时使用:

#ld

LDFLAGS+=-lgcov

(3)gcc编译成功后会生成对应同名的.gcno文件

(4)执行生成的可执行文件后生成同名的.gcda文件

(5)针对特定的源文件,执行gcov命令后生成覆盖率信息文件,即.gcov

如:针对test.c

gcov test.c

则生成test.c.gcov文件,这个就是代码覆盖信息。

 

5、lcov的使用方法

(1)我们为了更直观的查看代码覆盖率,可以借助lcov(gcov的可视化工具),针对生成的.gcov文件进行改造,生成最终的test.info文件。

在.gcov所在的目录下执行如下命令:

lcov -c -d . -o 'test.info' -b .

此命令执行成功后会生成对应的info文件(文件名可自定义)。

(2)通过genhtml工具(lcov工具集中包含)生成result文件,其中包含index.html。

(3)在windows下可以双击index.html,显示不同目录下的覆盖率统计结果,如下:

6、工程源码访问链接

 

7、参考文献

(1)https://blog.csdn.net/hanlizhong85/article/details/78009819?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只特立独行的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值