我可以使用bazel命令生成coverage.dat文件:
bazel coverage //tests/... --instrumented_filter=/src[/:]
这会为其中一个类生成报告,因为coverage.dat文件是针对不同目录中的每个检测文件单独生成的。如何获得合并的coverage.dat?
答案 0 :(得分:3)
coverage.dat
报告应包含有关受--instrumentation_filter
影响的所有类的覆盖率信息。此文件应位于bazel-testlogs/path/to/your/package/TestTarget
下。
你不应该另外写任何东西。 Bazel确实会生成多个临时.dat
文件,但它会将所有文件合并到最终的coverage.dat
文件中,该文件的位置在完成运行时由bazel打印。该文件是具有我上面描述的位置的文件。请务必检查该文件,并检查您是否正确使用--instrumentation_filter
(*)。
(*)来自command line manual:
启用coverage时,只包含名称中包含名称的规则 指定的基于正则表达式的过滤器将被检测。规则前缀 用' - '被排除在外。请注意,只有非测试规则 除非 - 启用了instrument_test_targets,否则检测。