在 bazel 的 python 测试中使用二进制
Using binary in python test in bazel
我想为我的 C++ 二进制文件编写一些端到端测试,这将提供一些输入文件并从 stdout 读取输出并断言它是正确的。我写了一个简单的 python 测试,它工作正常,现在我尝试让它与 bazel 一起工作。我将 py_test
添加到 bazel 并构建,但我无法在该目标的 deps 中指定 cc_binary
(bazel 抱怨)。如果我不单独 运行 cc_binary
的构建命令,python 测试将看不到 bazel-bin
中的二进制文件。我怎样才能在 运行ning py_test
之前强制构建我的 cc_binary
?
您可以将二进制文件添加为数据依赖项。有关详细信息,请参阅 the encyclopedia,但它基本上类似于:
cc_binary(
name = "my-bin",
srcs = ["bin.cc"],
)
py_test(
name = "my-test",
srcs = ["my_test.py"],
data = [":my-bin"],
# any other attributes you need...
)
我想为我的 C++ 二进制文件编写一些端到端测试,这将提供一些输入文件并从 stdout 读取输出并断言它是正确的。我写了一个简单的 python 测试,它工作正常,现在我尝试让它与 bazel 一起工作。我将 py_test
添加到 bazel 并构建,但我无法在该目标的 deps 中指定 cc_binary
(bazel 抱怨)。如果我不单独 运行 cc_binary
的构建命令,python 测试将看不到 bazel-bin
中的二进制文件。我怎样才能在 运行ning py_test
之前强制构建我的 cc_binary
?
您可以将二进制文件添加为数据依赖项。有关详细信息,请参阅 the encyclopedia,但它基本上类似于:
cc_binary(
name = "my-bin",
srcs = ["bin.cc"],
)
py_test(
name = "my-test",
srcs = ["my_test.py"],
data = [":my-bin"],
# any other attributes you need...
)