如何让lcov
和genhtml
显示未链接/加载的文件?我正在使用它来显示测试覆盖率,我希望看到每个源文件都出现在HTML报告中,即使它的覆盖率为零。这样我就可以使用lcov来识别缺少测试的源文件。缺少的源文件具有为其创建的.gcno文件,但不是.gcda文件。
答案 0 :(得分:5)
如果要查看所有文件,则必须使用-i选项创建基线覆盖率数据文件。 捕获数据后,您必须使用-a选项将两个文件组合在一起。
lcov手册页(https://linux.die.net/man/1/lcov)中有一个例子:
捕获初始零覆盖数据。
在包含.bb的目录中使用-c和此选项运行lcov, 运行任何测试用例之前的.bbg或.gcno文件。结果是 “基线”覆盖率数据文件,每个包含零覆盖率 仪表线。将此数据文件(使用lcov -a)与 测试运行后捕获的覆盖率数据文件,以确保 即使不是全部来源,所涵盖的总行数百分比也是正确的 代码文件在测试期间加载。
捕获测试用例数据时的建议过程:
创建基线覆盖率数据文件
lcov -c -i -d appdir -o app_base.info
执行测试
APPDIR /测试
创建测试覆盖率数据文件
lcov -c -d appdir -o app_test.info
- 醇>
组合基线和测试覆盖率数据
lcov -a app_base.info -a app_test.info -o app_total.info
然后,您必须使用app_total.info作为genhtml的源。