Типичный способ организовать это - иметь правило java_test
на Java тестовый класс или на группу связанных Java тестовых классов. Затем java_test
s можно сгруппировать, используя test_suite
, если это то, что вы хотите сделать.
Вы можете запустить все тесты в пакете с помощью:
bazel test //some/package:all
или в пакете и его подпакетах:
bazel test //some/package/...
или во всем рабочем пространстве:
bazel test //...
Подробнее о целевых шаблонах: https://docs.bazel.build/versions/master/guide.html#target -patterns
Если вы просто хотите java_test
, который запускает все тесты в каталоге, вы можете сделать что-то вроде
java_test(
name = "tests",
srcs = glob(["*Test.java"]),
deps = [ ..... ],
)
, но это может или не может быть правильным решением , В частности, если вы хотите просто запустить один тест или один метод тестирования (например, используя --test_filter
), bazel по-прежнему будет строить все зависимости java_test
. Также обратите внимание, что glob
s только внутри пакета сборки и не переходит в другие пакеты.