#scala #unit-testing #bazel #bazel-rules
Вопрос:
Я использую 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
целое . Чтобы включить автоматическое параллельное тестирование, я хотел бы разделить src на различные scala_test
, такие как
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 пытается скомпилировать dep для каждого scala_test
. Существует ли какой-либо способ группировать зависимости и повторно использовать их в различных scala_test
блоках, таких как scala_library
?
Ответ №1:
Извините, я думаю, что Bazel кэширует зависимости, поэтому мне не нужно беспокоиться о их повторной компиляции при выполнении всех тестов.