【问题标题】:How to pass custom flags to `bazel test` command如何将自定义标志传递给“bazel test”命令
【发布时间】:2018-06-15 14:28:33
【问题描述】:

我在测试中使用了gflags 来定义自定义标志。在通过bazel test 命令运行测试时,如何将这样的标志传递给我的测试?

例如:我可以使用以下方法多次运行测试:

bazel test //xyz:my_test --runs_per_test 10 

在同一命令中,我想传递my_test 中定义的标志,比如--use_xxx,我该怎么做?

【问题讨论】:

  • 我认为标志这个词可能被重载了。你的意思是你的测试运行器的主要方法的参数吗?
  • 这里很有趣,因为使用bazel run,您可以利用这样一个事实,即在一个单独的-- 右侧的所有内容都将被解释为传递给进程的参数,同时用于构建和运行以下命令屏蔽部分功能为target patterns,如bazel [<startup options>] <command> [<args>] -- [<target patterns>]

标签: bazel gflags


【解决方案1】:

Use the --test_arg flag.

bazel test //xyz:my_test --runs_per_test=10 --test_arg=--use_xxx --test_arg=--some_number=42

来自文档:

--test_arg arg:将命令行选项/标志/参数传递给每个测试进程。这 选项可以多次使用以传递多个参数,例如 --test_arg=--logtostderr --test_arg=--v=3.

你也可以specify arguments for the test as part of the BUILD definition:

cc_test(
    name = "my_test",
    srcs = [".."],
    deps = [".."],
    args = ["--use_xxx", "--some_number=42"],
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-07
    • 1970-01-01
    • 2021-02-18
    • 1970-01-01
    • 2016-10-25
    • 2015-03-23
    • 1970-01-01
    相关资源
    最近更新 更多