1

我的每个集成测试都有我的 c++ 代码的 lcov 报告。我想将它合并到一份全球报告中,我知道这是可能的,但它只会增加命中行数。我希望获得有关哪个测试击中每一行的信息。

我不知道是否有办法代替自己编写脚本。

谢谢

4

1 回答 1

1

您可以将 geninfo 与 lcov 结合使用来实现类似的效果。

如果您同时拥有 .gcno 和 .gcda 文件,那么首先我们需要生成 .info 文件。

要生成 .info 文件,请使用:

geninfo "path for .gcda files" -b "path for the source files" -o ./coverage1.info

因此,这将为您的第一次测试生成 .info。同样,为所有测试生成 .info。

现在您可以使用 lcov 组合这些信息文件并获得组合报告。为此,请使用:

lcov --add-tracefile coverage1.info -a coverage2.info ...coverageN -o merged.info

现在您已经合并了 .info 文件,您可以使用 genhtml 生成 HTML 报告以便更好地查看。

genhtml merged.info -o CodeCoverage
于 2020-03-11T12:58:04.107 回答