Codecov:C ++库的gcov代码覆盖率

问题描述

我正在编写一个小型C ++静态库。在GitHub Actions中,我有一个“单元测试”工作流,该工作流可编译并运行测试程序,并且代码覆盖率随后会提交给 Codecov 服务。它先运行:g++ test.cpp library/library.cpp --coverage -o test,然后运行./test,然后运行gcov -o . test.cpp。在下一步中,结果将通过标准bash <(curl -s https://codecov.io/bash)(将CODECOV_TOKEN设置为环境变量)提交到我的 Codecov 帐户。到目前为止,一切正常。

但是,在覆盖范围内,我看到.cpp.h文件的报告既包含库目录,也包含test.cpp的覆盖范围。我对我的测试代码的覆盖范围不感兴趣,并且它歪曲了统计信息。有什么方法可以只提交库文件的覆盖率报告吗?

解决方法

没有简单的方法可以排除gcov级别的文件,但是我通过限制codecov提交来解决了这个问题:https://docs.codecov.io/docs/ignoring-paths

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...