一个不能再白的小白 2023-03-31 09:57 采纳率: 0%
浏览 27

gtest+lcov单元测试问题

使用gtest+lcov 进行单元测试,部分头文件代码执行却未被统计覆盖,请问该如何处理?
追加:被测试函数确认被执行到,有打印log,将实现放入cpp,就可以统计到了,与被测试函数在同一头文件的其他函数,能够被统计到。

  • 写回答

2条回答 默认 最新

  • glory627 2023-03-31 10:18
    关注

    如果使用gtest+lcov 进行单元测试,部分头文件代码执行却未被统计覆盖,可能有以下几种情况:
    1.该头文件中的代码没有被测试到,即在测试中没有调用到该头文件中的函数或者没有执行到该头文件中的语句。
    2.头文件中的代码被测试到了,但是由于lcov的统计方式,该头文件的覆盖率没有被正确计算。
    针对这两种情况,可以采取一下措施:
    1.确认该头文件中的代码是否被测试到,如果没有被测试到,可以编写相应的测试用例,保证代码覆盖率能够完全覆盖该头文件的代码。
    2.检查lcov的设置,例如是否使用了正确的参数和选项。另外,lcov的统计方式可能会有一下局限性,例如不能正确处理宏定义等代码结构,这种情况下可以考虑使用其他的代码覆盖率工具或者手动检查代码的覆盖率情况。

    评论

报告相同问题?

问题事件

  • 修改了问题 4月3日
  • 创建了问题 3月31日