首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏编程珠玑

    使用gcov和lcov测试代码覆盖率

    gcov与 lcov简介 通过gcov和lcov,可以很直观的看到代码的运行情况,同时也可以查看代码的行覆盖率,函数覆盖率等等信息,为开发提供一个方便的测试手段。 gcov gcov是Linux下GCC自带的一个C/C++代码覆盖率分析工具,因此只要安装了gcc,就不需要再次安装了 lcov介绍 gcov能够生成代码覆盖信息,但是不够直观,因此需要借助lcov直观展示覆盖率 :lcov 下载完成后解压,执行命令:make install即可。 /test 生成了gcda文件 转换覆盖率信息 lcov -c -o test.info -d . -c 生成覆盖率信息 -o 生成目标文件 -d 目录 . Processing file gcov_lcov/test.c Writing directory view page.

    4.9K30发布于 2019-09-04
  • 来自专栏持续集成

    使用 Gcov 和 LCOV 度量 CC++ 项目的代码覆盖率

    sh-4.2$ lcov -v lcov: LCOV version 1.14 Gcov 是如何工作的 Gcov 工作流程图 flow 主要分三步: 在 GCC 编译的时加入特殊的编译选项,生成可执行文件 有了代码覆盖率 .gcov 文件,通过 LCOV[5] 生成可视化代码覆盖率报告。 生成 HTML 结果报告的步骤如下: # 1. 旁注: 还有另外一个生成 HTML 报告的工具叫 gcovr[6],使用 Python 开发的,它的报告在显示方式上与 LCOV 略有不同。 比如 LCOV 以目录结构显示, gcovr 以文件路径来显示,前者与代码结构一直因此我更倾向于使用前者。 : http://ltp.sourceforge.net/coverage/lcov.php [5] LCOV: http://ltp.sourceforge.net/coverage/lcov.php

    6.6K72发布于 2021-08-26
  • 来自专栏啄木鸟软件测试

    Java、Python、C++支持jenkins和SonarQube(四)

    2结合lcov生成 HTML 报告(更直观) bash lcov -c -d . 3.用gcov生成报告,或lcov生成 HTML 可视化报告。 ·适用场景:单元测试、回归测试、代码优化。 如果你需要更强大的可视化,建议结合LCOV或gcovr使用! 3使用Lcov收集覆盖率数据 bash lcov -c -d . -o coverage.info ·-c:捕获覆盖率数据。 ·-d .:从当前目录查找.gcda文件。 Lcov 的替代工具 工具 特点 gcovr Python 实现,支持 XML/HTML 报告,比 Lcov 更轻量 LLVM-cov Clang/LLVM 的覆盖率工具,类似 Lcov BullseyeCoverage 6.3.8 与jenkins集成 stage('lcov'){ steps { echo "开始lcov" sh ''' lcov -c -d .

    55010编辑于 2025-08-25
  • 来自专栏全栈程序员必看

    java单元测试覆盖率_android单元测试覆盖率

    工具的安装: (1)下载源码包:http://ltp.sourceforge.net/coverage/lcov.php (2)解压:tar xvzf lcov-1.11.tar.gz (3)cd lcovlcov源码包编译后的目录,lcov_out为自己建的目录用来存放lcov工具统计出的结果的输出。 /gtest_lcov make clean sudo rm -rf ./lcov_out/* make ./appMain . /lcov-1.11/bin/lcov -d ../ -t ‘appMain’ -o’appMain.info’ -b . -c . /lcov_out/index.html (7)覆盖率统计图表: 至此,gtest单元测试工具和lcov覆盖率统计工具的结合使用介绍完毕,共同学习进步。

    2.4K20编辑于 2022-11-11
  • 来自专栏搜狗测试

    代码覆盖率--gcov/lcov/gcovr

    lcov有很多参数配合使用可以满足各种需求,lcov的使用方法可以通过以下这条命令查询: lcov --help 我们一般关注以下这几个参数: -c 或者 --capture 指定从编译产物中收集覆盖率信息 此外,特殊说明: lcov默认不会打开分支覆盖率,因此我们还需要增加这个参数来打开分支覆盖率的计算: --rc lcov_branch_coverage=1 lcov输出的仍然是一个中间产物,我们还需要通过 同样的,为了打开分支覆盖率的计算,我们也要为这个命令增加--rc lcov_branch_coverage=1参数 最后,我们编辑一个make_all.sh脚本执行lcov相关操作: COVERAGE_FILE =coverage.info REPORT_FOLDER=coverage_report lcov --rc lcov_branch_coverage=1 -c -d . gcovr 一般场景下使用gcov和lcov能满足代码覆盖率的获取和展示工作,lcov和genhtml配合生成的HTML报告内容详尽,简洁直观,行覆盖率、分支覆盖率都有,但是HTML文件在常用的持续集成工具

    11.4K41发布于 2019-07-24
  • 来自专栏DevOps时代的专栏

    一行代码引发的 CI 悲剧

    2.2 软件因素排查 检查gcc gcov lcov版本和变动时间,确保没有变动。 2.3 单元测试并行问题解决 在单元测试并行运行实践时,当时并行时,没有考虑控制并发度。发现虚拟机调度没有问题。 这个环节有两个步骤 lcov -d ~/src —no-external —rc lcov_branch_coverage=1 -c -o test.info genhtml —branch-coverage -o result test.info 从单步测试来看,时间主要花费在lcov环节。 首先考虑升级最新版本lcov,问题依然存在。 CI工具的同事对比其他的环境,发现日志“ignoring data for external file“比其他版本多很多。 ? 2)Clean Code的物理设计需要严格遵守 3)以lcov日志为契机,对于代码标准库使用做一个大扫除。 ? 物理设计 在技术复杂的系统中,每一个问题背后的因果都缺乏可预测性。

    98920发布于 2018-12-21
  • 来自专栏小巫技术博客

    【可测试性实践】C++ 单元测试&代码覆盖率统计

    引言 最近在调研C++工程怎么做单元测试和代码覆盖率统计,由于我们工程有使用Boost库,尝试使用Boost.Test来实现单元测试并通过Gcov和Lcov来生成代码覆盖率报告。 使用gcov + lcov统计代码覆盖率 准备工作 确保已经安装以下工具: CMake:用于构建项目。 GCC:支持代码覆盖率生成(其他编译器如 Clang 也可以,但这里以 GCC 为例)。 lcov:用于生成 HTML 格式的覆盖率报告。 genhtml:用于将 lcov 生成的覆盖率数据转换为 HTML 文件。 GCOV 代码覆盖率统计流程 画板 由于gcov生成的代码覆盖率统计文件可视化较低,所以需要借助lcov,genhtml工具直接生成html报告。 生成覆盖率报告 # 生成初始的覆盖率信息 lcov --capture --directory .

    1.4K20编辑于 2024-09-12
  • 来自专栏用户8644135的专栏

    集成测试 Cypress 配置

    │ ├── clover.xml │ │ ├── coverage-final.json │ │ ├── coverage-summary.json │ │ ├── lcov-report │ │ └── lcov.info │ ├── plugins │ │ └── index.js │ ├── specs │ │ └── config.js │ └ index.js └── unit ├── coverage │ ├── clover.xml │ ├── coverage-final.json │ ├── lcov-report │ └── lcov.info ├── helper.spec.js └── index.spec.js Cypress 的安装此处略过,需要配置一下对应的文件路径,否则在启动后默认会在根目录创建 [ "src/**/*.js" ], "exclude": [ "tests/**/*.js" ], "reporter": [ "lcov

    1.8K30发布于 2021-06-28
  • 来自专栏啄木鸟软件测试

    C++语言的单元测试与代码覆盖率

    CMake:cmake version 3.5.1 Google Test:1.8.1 lcovlcov version 1.12 关于CMake 为了简化编译的过程,这里使用CMake作为编译工具 此时就可以使用lcov了。 lcov是gcov工具的图形前端。它收集多个源文件的gcov数据,并生成描述覆盖率的HTML页面。生成的结果中会包含概述页面,以方便浏览。 lcov支持我们前面提到的所有四种覆盖率。 这个链接是lcov生成的报告样例:lcov – code coverage report。 安装 lcov并非包含在GCC中,因此需要单独安装。 Mac系统 brew install lcov Ubuntu系统 sudo apt install lcov 使用 对于lcov的使用方法可以通过下面这条命令查询: lcov --help 通过输出我们可以看到 另外还有需要说明的是: lcov默认不会打开分支覆盖率,因此我们还需要增加这个参数来打开分支覆盖率的计算:--rc lcov_branch_coverage=1 lcov输出的仍然是一个中间产物,我们还需要通过

    4K10发布于 2019-12-11
  • 来自专栏搜狗测试

    统计c++服务的接口测试用例覆盖率

    最近想统计一个c++的server 的http接口的对代码的覆盖率情况,但之前做的覆盖率统计都是Unittest的覆盖率,而且一般都是统计非daemon程序的,查了一下,daemon也可以使用gcov+lcov gcov_flush方法,生成.gcda文件; 当然要做成自动化触发的话可以在执行完接口测试case后,使用kill -SIGINT [pid] 来给进程一个ctrl+C的信号量 生成覆盖率统计文件info 使用lcov 工具生成,可以yum安装; lcov –directory .

    2.3K30发布于 2019-06-02
  • 来自专栏torch-detection-学习笔记

    CMake学习笔记

    GTEST总结 LCOV 1. Lcov是什么? 是GCOV图形化的前端工具, 是Linux Test Project维护的开放源代码工具,最初被设计用来支持Linux内核覆盖率的度量。 如何在Linux平台安装Lcov? # wget http://downloads.sourceforge.net/ltp/lcov-1.9.tar.gz # tar -zxvf lcov-1.9.tar.gz # cd lcov-1.9 lcovrc    man     rpm CHANGES  COPYING  example             Makefile  README # make install 不需要编译,直接安装即可,lcov

    1.9K00发布于 2020-07-30
  • 来自专栏玩转大前端

    在 Karma 中测试覆盖率

    /coverage', reporters: [ { type: 'lcov', subdir: '.' }, { type: 'text-summary' : "cross-env BABEL_ENV=test karma start --single-run" 之后运行`yarn test就可以看到覆盖率概览啦 也可以网页预览,打开coverage/lcov-report

    1.8K30编辑于 2022-08-15
  • 来自专栏Article

    集成测试 Cypress 配置

    │ ├── clover.xml │ │ ├── coverage-final.json │ │ ├── coverage-summary.json │ │ ├── lcov-report │ │ └── lcov.info │ ├── plugins │ │ └── index.js │ ├── specs │ │ └── config.js │ └ index.js └── unit ├── coverage │ ├── clover.xml │ ├── coverage-final.json │ ├── lcov-report │ └── lcov.info ├── helper.spec.js └── index.spec.js Cypress 的安装此处略过,需要配置一下对应的文件路径,否则在启动后默认会在根目录创建 [ "src/**/*.js" ], "exclude": [ "tests/**/*.js" ], "reporter": [ "lcov

    1.4K10编辑于 2022-06-15
  • 来自专栏NebulaGraph 技术文章

    图数据库 Nebula Graph 的代码变更测试覆盖率实践

    clang 都支持 gcov 式的测试覆盖率功能,使用起来也是非常简单的,主要有如下几个步骤: 添加编译选项 --coverage -O0 -g  添加链接选项 --coverage  运行测试 使用 lcov ,整合报告,例如 lcov --capture --directory . --output-file coverage.info  去掉外部代码统计,例如 lcov --remove coverage.info '*/opt/vesoft/*' -o clean.info  () && matrix.compiler == 'gcc-9.2' && matrix.os == 'centos7' run: | set -e /usr/local/bin/lcov --version /usr/local/bin/lcov --capture --gcov-tool $GCOV --directory .

    1.2K20发布于 2020-04-22
  • 来自专栏用户6296428的专栏

    有赞iOS精准测试实践

    2.1.4 info 文件 拿到 gcno 和 gcda 文件后,我们可以使用 LCOV 工具(基于gcov )来生成这个源代码文件的覆盖率信息。 3.3 覆盖率生成 我们使用开源的 LCOV 工具来处理 gcno 和 gcda 文件,生成可读性较高的 info 文件,同时支持生成可读性更好的 HTML 网页。 LCOV 工具支持基于同一份 gcno 加上多份 gcda 的合并,因此,单版本多设备的全量代码覆盖率可可以很快的生成。 3.3.1 单版本覆盖率 在单版本代码代码覆盖率的统计中,我们只需要调用 LCOV 工具的以下代码实现对应的功能(具体指令及参数的含义请参阅 LCOV 工具): 生成覆盖率:lcov-c--derive-func-data-d SOURCE-o DEST_INFO筛除数据:lcov-r SOURCE_INFO'REGEX'-o DEST_INFO合并覆盖率:lcov-a SOURCE_INFO_0-a SOUCE_INFO_n-o

    2.7K32发布于 2020-08-24
  • Flutter测试指南

    expect(find.text('1'), findsOneWidget); }); } 测试覆盖率 生成测试覆盖率报告: 运行测试并收集覆盖率数据: flutter test --coverage 使用lcov 生成可视化报告(需安装lcov): genhtml coverage/lcov.info -o coverage/html open coverage/html/index.html 最佳实践 隔离测试

    23410编辑于 2025-12-18
  • 来自专栏软件测试那些事

    Sonar Scanner 之 C++扫码篇

    工具链 - 覆盖率报告lcov/gcovr gcov生成的覆盖率结果文件可读性很差,一般都需要额外的工具对gcov的结果文件进行解析和进一步优化,生成可读性更好的xml或者html文件。 lcov和gcovr是两个比较流行的gcov报告解析器。其中lcov的功能更为强大一些,有覆盖率结果累加等功能,但是只提供了html报告。 而gcovr比lcov更好的一个场景是提供了cobetura兼容格式的xml报告,从而可以让sonar来解析c++的覆盖率报告。 如果关注C++覆盖率统计的同学,可以阅读gcov/gcovr/lcov等工具的说明文档,以了解这些高阶应用。

    9.5K50发布于 2020-12-01
  • 来自专栏cwl_Java

    数据库PostrageSQL-测试覆盖检查

    当前使用 GCC 编译时支持该特性,并且需要gcov和lcov程序。一个典型的工作流程看起来是: ./configure --enable-coverage ... 如果没有lcov或者更喜欢文本输出而不是HTML报告,还可以运行 make coverage 来取代make coverage-html,它将为每个与测试相关的源文件产生.gcov输出文件(make

    89610发布于 2021-01-14
  • 来自专栏DevOps时代的专栏

    CI 中一次单元测试覆盖率问题定位分析

    【失败原因】 Do lcov failed… 问题处理 故障初次诊断 用命令lcov -c --directory ~/src/build提取故障: geninfo: ERROR: /home/ocsr90 lcov 是否存在缓存? 清理环境后,并删除build目录,保证是干净的环境后,编译没有问题,但是告警问题还存在。

    1.3K20发布于 2018-12-26
  • 来自专栏啄木鸟软件测试

    Java、Python、C++支持jenkins和SonarQube(全集)

    2结合lcov生成HTML报告(更直观) bash lcov -c -d. 用gcov生成报告,或lcov生成HTML可视化报告。 适用场景:单元测试、回归测试、代码优化。 如果你需要更强大的可视化,建议结合LCOV或gcovr使用! 6.3.6.Lcov的替代工具 工具 特点 gcovr Python实现,支持XML/HTML报告,比Lcov更轻量 LLVM-cov Clang/LLVM的覆盖率工具,类似Lcov BullseyeCoverage 6.3.8与jenkins集成 groovy stage('lcov'){ steps{ echo"开始lcov" sh''' lcov-c-d. echo"开始lcov" sh''' lcov-c-d.

    81810编辑于 2025-08-25
领券