问题描述
我正在编写一个小型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