【问题标题】:How to reuse deps for different tests in Bazel?如何在 Bazel 中为不同的测试重用 deps?
【发布时间】:2021-08-07 11:40:21
【问题描述】:

我正在使用 Bazel 编译 scala。

现在,我的 scala_test 看起来像

scala_test {
    name = "sample",
    srcs = [
            "a.scala",
            "b.scala",
            "c.scala",
            "d.scala",
    ],
    deps = [
            "//src//main/scala/.../dep1",
            "//src//main/scala/.../dep2",
            "//src//main/scala/.../dep3",
            "//src//main/scala/.../dep4",
    ]
}

在这种情况下,Bazel 不支持这些 src 上的并行化,因为它们被分组为一个 scala_test。为了启用自动并行测试,我想将 srcs 分成不同的scala_test like

scala_test {
    name = "sample1",
    srcs = [
            "a.scala",
    ],
    deps = [
            "//src//main/scala/.../dep1",
            "//src//main/scala/.../dep2",
            "//src//main/scala/.../dep3",
            "//src//main/scala/.../dep4",
    ]
}
scala_test {
    name = "sample2",
    srcs = [
            "b.scala",
    ],
    deps = [
            "//src//main/scala/.../dep1",
            "//src//main/scala/.../dep2",
            "//src//main/scala/.../dep3",
            "//src//main/scala/.../dep4",
    ]
}
...

问题是我猜 bazel 会尝试为每个 scala_test 编译 deps。有没有办法对依赖进行分组并在不同的scala_test 块中重用它们,例如scala_library

【问题讨论】:

    标签: scala unit-testing bazel bazel-rules


    【解决方案1】:

    抱歉,我认为 Bazel 缓存了依赖项,因此我不必担心在运行所有测试时再次编译它们。

    【讨论】:

      猜你喜欢
      • 2022-01-20
      • 2020-01-23
      • 2018-05-16
      • 1970-01-01
      • 2018-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多