带有junit5的Java的bazel覆盖率,coverage.dat文件始终为空

问题描述

我使用的是junit5给出的示例

https://github.com/junit-team/junit5-samples/tree/main/junit5-jupiter-starter-bazel

由于代理问题,我将WORKSPACE文件中的local_repository指定为coverage_output_generator

# https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.3.zip
local_repository(
    name = "remote_coverage_tools",path = "/home/bazel/coverage_output_generator-v2.3",)

为了覆盖,我尝试了以下命令

 bazel coverage //...
bazel coverage //...  --combined_report=lcov --test_keep_going --coverage_report_generator=@bazel_tools//tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator:Main
bazel coverage -s --instrument_test_targets --experimental_cc_coverage --combined_report=lcov --coverage_report_generator=@bazel_tools//tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator:Main
bazel coverage -s --instrument_test_targets --experimental_cc_coverage --combined_report=lcov --coverage_report_generator=@bazel_tools//tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator:Main --cache_test_results=false

baseline_coverage.dat文件具有以下内容

SF:src/main/java/com/example/project/Calculator.java
end_of_record

bazel-out/k8-fastbuild/testlogs/src/test/java/com/example/project/junit5-jupiter-starter-bazel-test/coverage.dat的覆盖率文件始终为空

每次 coverage.dat 文件为空时,都会尝试其他一些示例应用程序。

.bazelrc文件

build --define=ABSOLUTE_JAVABASE=<path to local jdk>
build --host_javabase=@bazel_tools//tools/jdk:absolute_javabase
build --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_vanilla
build --java_toolchain=@bazel_tools//tools/jdk:toolchain_vanilla

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)