在bazel中使用python测试中的二进制文件

gru*_*czy 2 bazel

我想写一些我的C++二进制文件的端到端测试,它将提供一些输入文件和stdout的读取输出,并断言它是正确的.我写了一个简单的python测试,它工作正常,现在我尝试使它与bazel一起工作.我加入py_test了bazel并且它构建了,但是我不能指定cc_binary那个目标(bazel抱怨).如果我不cc_binary单独运行build命令,python测试将不会看到二进制文件bazel-bin.我如何强迫cc_binary在跑步之前建立我的py_test

kri*_*ina 7

您可以将二进制文件添加为数据依赖项.有关详细信息,请参阅百科全书,但它基本上类似于:

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...
)
Run Code Online (Sandbox Code Playgroud)