各种编程语言的代码覆盖率工具汇总---重要

本文探讨了Linux环境下使用gcc/g++工具编译代码时如何通过‘--coverage’选项生成可用于覆盖率分析的二进制文件,并介绍了如何使用gcov和lcov进行代码覆盖率统计。同时,文章概述了不同编程语言下的代码覆盖率工具,包括C/C++、Java、Python、PHP、Perl和Shell等领域的工具,并提供了相关链接以供进一步研究。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

源地址:

http://smilejay.com/2012/10/code-coverage-tools/


最近两年在做Linux虚拟化开源项目,由于项目代码庞大且开发人员分散在世界各个角落,我们对其测试的方法和实践中,对单元测试等做得并不多(KVM的kvm-unit-tests可以算一个吧),对单元测试代码覆盖率等也没有做过多的要求。不过以前做电子商务测试时,那时技术部门曾主推单元测试(主要是JUnit测试Java代码),且将单元测试的代码覆盖率有较为严格的要求,我也做过一小段时间的研究。偶然看到淘宝公直的一篇文章(Linux下c/c++项目代码覆盖率的产生方法),就用他给的实例代码使用了一下gcov和lcov查看了一下C/C++代码覆盖率的统计。

对于Linux下的C/C++代码,可以在gcc/g++工具编译代码时加上“–coverage”选项来生成可用于覆盖率分析的二进制文件,然后用gcov命令来生成覆盖率统计情况,也可用lcov工具来生成html版本的可读性很好的代码覆盖率报告。

下面列举一下各种编程语言的代码覆盖率工具吧。
c/c++:    gcc+gcov+lcov;(单元测试:CUnit、CPPUnit、Google GTest等)
Java :    Maven cobertura 插件,Clover,EMMA,Jtest;
Python:    PyUnit + coverage.py;
PHP:    phpunit + –coverage-html + Xdebug ;
Perl:    Test::Class 和 Devel::Cover;
Shell:    shUnit2 + shcov;

更多的工具资料请参考如下:
代码覆盖率工具: http://en.wikipedia.org/wiki/Code_coverage
单元测试框架:http://en.wikipedia.org/wiki/List_of_unit_testing_frameworks

gcc manual: man gcc (搜索–coverage)

http://ltp.sourceforge.net/coverage/lcov.php

shunit2.googlecode.com

http://sdet.org/?p=212

http://toast.taobao.org/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值