首页 > 解决方案 > 将 $(location) 传递给 Bazel --test_arg

问题描述

问题

是否可以在为每个执行的测试重新评估的参数中$(location)传递bazel test一个通用参数?--test_args

语境

我想要做的是用于bazel test批量执行测试,但产生独特的输出文件。

我使用带有--out参数的 Catch2 来指定 JUnit XML 输出文件位置。我可以让 Catch2 将 JUnit 输出到STDOUT,但是 test.log 会受到 Bazel 和任何其他STDOUTSTDERRCatch2 产生的测试数据的污染。

例如。我正在尝试制作以下内容:

  • ./bazel-testlogs/
    • 文件夹
      • 测试
        • 测试1
          • Test1_JUNIT.xml
        • 测试2
          • Test2_JUNIT.xml

标签: c++junitbazelcatch2

解决方案


我们最终修补了 Catch2 以查找XML_OUTPUT_FILE环境变量,并将其用作报告输出路径。灵感来自这个类似的帖子


推荐阅读