ros/ros2 测试代码覆盖率检测

本文档详细介绍了如何在ROS2项目中检测测试代码的覆盖率,包括相关名词解释、配置项目、运行测试代码、参数说明以及生成覆盖率报告的步骤。通过使用gcc编译参数、gcov和lcov工具,可以生成并分析覆盖率数据,最终以html格式呈现测试覆盖率报告。

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

ros/ros2 测试代码覆盖率检测

写在前面

本文档是关于如何在ros/ros2的项目中检测测试代码的覆盖率。本文以ros2项目为例。

相关名词

gcc是linux平台下的C、C++ 编译器

编译参数:

-fprofile-arcs:使得编译后的文件运行生成弧跳变的次数和其他的概要信息,用于生成.gcda
-ftest-coverage:生成.gcno文件,汇总文件源码块信息和行号

生成文件:

.gcno:是由-ftest-coverage编译时产生的,它包含了重建基本块图和相应的块的源码的行号的信息
.gcda:是有-fprofile-arcs产生的,它包含了程序运行时生成执行次数
.gcov:文本格式的覆盖信息由gcno和gcda合并而成

gcov是配合gcc产生覆盖信息报告的工具;

lcov:是将gcov产生的报告信息,以更直观的方式显示出来工具.图表图文方式;

genhtml:把lcov产生的信息生成html

配置ros2项目

通用的编译配置项目

写一个通用的编译配置项目,这样在每一个需要检测测试代码覆盖率的项目中都可以直接使用,例:ros2_common
.
├── cmake
│ └── ros2_coverage.cmake
├── CMakeLists.txt
├── package.xml
└── ros2_common-extras.cmake

编译项目

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TY
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值