我最近开始使用lcov可视化代码覆盖率。这是一个很棒的工具。
我注意到的一件事是,它会为我正在使用的所有文件(包括我不感兴趣的文件)生成代码覆盖率报告。例如,它将为我提供boost和mysql ++文件的代码覆盖率报告。
是否有一种简单的方法可以强制lcov只为特定文件生成覆盖率报告?
我已经尝试使用-k参数,如下所示:
/ usr / bin / lcov -q -c -i -b。 -d .obj -k src / -k include / -o app_base.info
{立即运行单元测试}
/ usr / bin / lcov -q -c -b。 -d .obj -k src / -k include / -o app_test.info
/ usr / bin / lcov -q -a app_base.info -a app_test.info -o app_total.info
/ usr / bin / genhtml -q -o lcov_output_directory app_total.info
(这意味着我只想要“include”和“src”目录的覆盖率文件。)
但是,这似乎不起作用。该报告仍向我显示所有无关的文件。任何建议都非常感谢。谢谢!
最佳答案
lcov支持命令行参数--remove完全执行您要的操作。
关于code-coverage - 有没有一种方法可以将lcov代码覆盖率报告仅集中到一个或两个目录?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/837639/