c++ - 如何测量 C++ 中执行部分的代码覆盖率
问题描述
我有两个 C++ 二进制文件(A 和 B),两个二进制文件之间有套接字连接。
二进制 A 正在监听 B。并且,B 连接到 A。
A 接受 B 的消息并根据消息内容执行一些功能。
我们创建了一种单元测试来测试各种消息类型。
从这些测试中,我想从我们的测试消息中测量 A 的执行行。
我搜索了测量代码覆盖率的工具,发现lcov
.
然而,lcov 测量了总执行的代码行数,包括初始化和其他无用的块。
我可能会创建一个新代码来测试没有套接字连接的功能。
但是代码结构复杂,所以实现测试需要很长时间。
所以,我想跳过这些行lcov
以获得由我们的测试消息引起的纯粹执行的行。
如果不可能并且有更好的工具来解决这种情况,请推荐合适的工具来衡量。
谢谢。
解决方案
在测试用例之前调用__gcov_reset以丢弃从初始化收集的数据。
推荐阅读
- sql - 如何从 Redshift/SQL 中的 json 字符串字段中解析检索值
- python - 消除这两个功能之间的冗余?
- php - 在优惠券设置中添加一个字段并在 Woocommerce 管理订单列表中显示该值
- gcc - .rodata 中字符串对齐和填充的混淆
- html - 子菜单的水平滚动动作
- typescript - 是否可以在打字稿中将文字类型从类型级别转换为术语级别?
- sql - 如何使用条件对 SQL 查询进行排序?
- java - 当从firestore检索的字符串列表中匹配字符串时,我想将JOIN按钮的状态更改为“JOINED”?
- python - Pigpio - 伺服:set_servo_pulsewidth() 后是否需要等待一段时间
- java - 切换到openjdk后无法在eclipse中启动服务器