在 bazel 的 python 测试中使用二进制文件
Posted
技术标签:
【中文标题】在 bazel 的 python 测试中使用二进制文件【英文标题】:Using binary in python test in bazel 【发布时间】:2016-08-19 15:22:19 【问题描述】:我想为我的 C++ 二进制文件编写一些端到端测试,这将提供一些输入文件并从标准输出读取输出并断言它是正确的。我写了一个简单的 python 测试,它工作正常,现在我尝试让它与 bazel 一起工作。我将 py_test
添加到 bazel 并构建,但我无法指定 cc_binary
依赖于该目标(bazel 抱怨)。如果我不单独运行cc_binary
的构建命令,python 测试将看不到bazel-bin
中的二进制文件。如何在运行 py_test
之前强制构建我的 cc_binary
?
【问题讨论】:
【参考方案1】:您可以将二进制文件添加为数据依赖项。有关详细信息,请参阅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...
)
【讨论】:
以上是关于在 bazel 的 python 测试中使用二进制文件的主要内容,如果未能解决你的问题,请参考以下文章