单元测试覆盖率统计

参考http://www.cnblogs.com/turtle-fly/archive/2013/01/09/2851474.html

1.下载安装gcov/lcov
gcov生成覆盖率数据
lcov数据统计

2.编译
gcc -g -pipe -m64 -fpic -DLINUX -fprofile-arcs -ftest-coverage

3.链接
三条任选一个执行即可
$ gcc --coverage
$ gcc -lgcov
$ gcc -fprofile-arcs

4.运行程序,会生成覆盖数据

5.lcov统计

for DIR_NAME in `ls ${TMP_DIR}`
do
  if test -d ${TMP_DIR}/${DIR_NAME}
  then
    lcov -c -d ${TMP_DIR}/${DIR_NAME}/ -o ${TMP_DIR}/${DIR_NAME}/${DIR_NAME}.app.info
    lcov -e ${TMP_DIR}/${DIR_NAME}/${DIR_NAME}.app.info "${LCOV_MICSERV}/src/*" -o  ${TMP_DIR}/${DIR_NAME}/${DIR_NAME}.app.info
    genhtml ${TMP_DIR}/${DIR_NAME}/${DIR_NAME}.app.info -o ${TMP_DIR}/${DIR_NAME}/${DIR_NAME}.html
    gensummary ${TMP_DIR}/${DIR_NAME}/${DIR_NAME}.app.info ${TMP_DIR}/${DIR_NAME}/${DIR_NAME}.html/${DIR_NAME}.summary.xml
  fi
done

时间: 2024-10-10 09:58:23

单元测试覆盖率统计的相关文章

EclEmma单元测试覆盖率统计插件

EclEmma是Eclipse里的一个插件,安装简单,覆盖率显示直观.安装EclEmma.打开Eclipse,点击Help → Intall New SofaWare → Work with 输入 http://update.eclemma.org/  回车 点击完成结束配置,并开始下载安装插件,安装结束后Eclipse通常会提醒你重新启动Eclipse选择确定.在重新打开的Eclipse工具栏里你就会看到这个代码覆盖测试工具Eclemma!  

使用coverage工具统计python单元测试覆盖率

Coverage简介 Coverage是一种用于统计Python代码覆盖率的工具,通过它可以检测测试代码对被测代码的覆盖率如何.Coverage支持分支覆盖率统计,可以生成HTML/XML报告. 官方文档:http://coverage.readthedocs.org/en/latest/ 获取地址:http://pypi.python.org/pypi/coverage 也可以通过easy_install或pip安装:easy_install coverage. 安装后在Python27\Sc

[转载] JaCoCo:分析单元测试覆盖率的利器

转载自http://www.ibm.com/developerworks/cn/java/j-lo-jacoco/和http://www.cnblogs.com/chenfengmugu/p/4937257.html 本文主要介绍了如何使用 JaCoCo 分析 Java 项目的单元测试覆盖率,同时介绍了如何在 Eclipse 中安装和使用 EclEMMA,让开发人员可以直观地看到单元测试的覆盖情况. 前言 随着敏捷开发的流行,编写单元测试已经成为业界共识.但如何来衡量单元测试的质量呢?有些管理者

.NET Core单元测试之搞死开发的覆盖率统计(coverlet + ReportGenerator )

.NET Core单元测试之搞死开发的覆盖率统计 这两天在给项目补单元测试,dalao们要求要看一下测试覆盖率 翻了一波官方test命令覆盖率倒是有支持了,然而某个更新日志里面写着 ["Support for Linux and Mac will be considered separately in a subsequent effort."] 吐血ing... 8102年都要过去了,微软同学你是不有点过分啊. 然后又翻了一堆资料之后发现,GitHub有dalao自己搞了个cover

Android-jacoco代码覆盖率:单元测试覆盖率+功能测试覆盖率

参考:https://docs.gradle.org/current/dsl/org.gradle.testing.jacoco.tasks.JacocoCoverageVerification.html gradle库下载:https://maven.aliyun.com/mvn/view 案例参考来源:https://www.jianshu.com/p/1a4a81f09526 https://www.jianshu.com/p/1a4a81f09526 其他:https://testerh

多环境多需求并行下的代码测试覆盖率统计工具实现

马蜂窝技术原创内容,更多干货请关注公众号:mfwtech 测试覆盖率常被用来衡量测试的充分性和完整性,也是测试有效性的一个度量.「敏捷开发」的大潮之下,如何在快速迭代的同时保证对被测代码的覆盖度和产品质量,是一个非常有挑战性的话题. 在马蜂窝大交通.酒店等交易相关业务中,项目的开发和测试实践同样遵循敏捷的原则,迭代周期短.速度快.因此,如何依据测试覆盖率数据帮助我们有效判断项目质量.了解测试状态.提升迭代效率,是我们一直很重视的工作. Part.1 测试覆盖率统计中的挑战 对于功能测试而言,通常

JavaScript覆盖率统计实现

主要需求 1. 支持browser & nodejs 由于javascript既能够在浏览器环境执行,也能够在nodejs环境执行,因此须要能够统计两种环境下单元測试的覆盖率情况. 2. 透明.无缝 用户写单元測试用例的时候,不须要为了支持覆盖率统计多写代码,之前写的用例无需改动就能够直接统计覆盖率情况. 原理 javascript覆盖率的相关文章比較少.以下的图是通过阅读开源javascript覆盖率工具istanbul及开源測试框架Karma的覆盖率插件karma-coverage得出的.

bcov进行覆盖率统计

kcov是在bcov基础上进行的,bcov已经很久没有维护了: 首先需要下载依赖库libdwraft,然后在configure时候进行指定: ./configure --with-libdwarf=/usr/local/lib 然后make;make install (1)悲催的是编译过程中出现了错误 ‘PTRACE_O_TRACECLONE’ was not declared in this scope 增加头文件<sys/ptrace> 同时对ptrace调用的地方进行强制类型转换,例如原

jacoco + eclipse单元测试覆盖率

概念 Jacoco:JaCoCo是一个开源的覆盖率工具,它针对的开发语言是java,其使用方法很灵活,可以嵌入到Ant.Maven中:可以作为Eclipse插件,可以使用其JavaAgent技术监控Java程序等等. 插桩:程序插桩,它是在保证被测程序原有逻辑完整性的基础上在程序中插入一些探针(又称为"探测仪",本质上就是进行信息采集的代码段,可以是赋值语句或采集覆盖信息的函数调用),通过探针的执行并抛出程序运行的特征数据,通过对这些数据的分析,可以获得程序的控制流和数据流信息,进而得