Базель для тестовых ресурсов - Входной путь не существует: - PullRequest
0 голосов
/ 02 февраля 2019

Я пытаюсь использовать Bazel для тестов Java.И нужно получить доступ к файлам данных под ресурсамиМой проект имеет стандартную структуру Maven.Я использую файловую группу для ресурсов и в качестве зависимости в java_test.Проблема в том, что когда я пытаюсь запустить тест, он завершается неудачей со следующей ошибкой java.lang.RuntimeException: org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: file:/private/var/tmp/_bazel_username/2c26269e9af968f4ce3e88b22720114e/execroot/myproject/bazel-out/darwin-fastbuild/bin/hadoop/com_company_hadoop_search_join_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",
    ],    
)

Я проверил содержимое тестовой банки и текстовый файл, как и ожидалось.

...