测试资源的Bazel-输入路径不存在:
我正在尝试使用Bazel进行java测试。并且需要访问资源下的数据文件。我的项目有标准的Maven结构。我使用文件组作为资源,并将其作为java_测试中的依赖项。 问题是当我尝试运行测试时,它失败,出现以下错误测试资源的Bazel-输入路径不存在:,bazel,Bazel,我正在尝试使用Bazel进行java测试。并且需要访问资源下的数据文件。我的项目有标准的Maven结构。我使用文件组作为资源,并将其作为java_测试中的依赖项。 问题是当我尝试运行测试时,它失败,出现以下错误java.lang.RuntimeException:org.apache.hadoop.mapred.InvalidInputException:输入路径不存在:文件:/private/var/tmp/_bazel_username/2c26269e9af968f4ce3e88b2272
java.lang.RuntimeException:org.apache.hadoop.mapred.InvalidInputException:输入路径不存在:文件:/private/var/tmp/_bazel_username/2c26269e9af968f4ce3e88b22720114e/execroot/myproject/bazel out/darwin fastbuild/bin/hadoop/com_company\u hadoop\u search\u join\u TermTest.jar/com/company/hadoop/search/join/names.txt
我的src/test/resources/BUILD中有以下内容:
filegroup(
name = "resources",
testonly = 1,
srcs = glob(["**/*.txt"]),
visibility = ["//visibility:public"],
)
在我的hadoop/BUILD中有以下内容:
java_test(
srcs =
["src/test/java/com/company/hadoop/search/join/TermTest.java"],
resources = ["//hadoop/src/test/resources:resources"],
deps = [
"//src/main/java/com/path/to/my/code",
"//:junit_junit",
],
)
我验证了测试jar内容和文本文件是否如预期的那样存在。我相信您的测试“资源”不是java资源,而是数据文件
使用:
请看一看[
java_test(
srcs = [
"src/test/java/com/company/TermTest.java",
],
data = [
"//hadoop/src/test/resources:resources",
],
deps = [
"//src/main/java/com/path/to/my/code"
],
)