Как выполнить тесты в одном проекте только в многомодульной сборке?
У меня есть многомодульная сборка, и я хотел бы запускать тесты для разных подпроектов независимо.
Есть ли способ сделать это в sbt, например. если моя многопроектная сборка имеет проекты core
и commons
, я бы хотел запустить только test
в проекте commons
.
Ответы
Ответ 1
Запустите sbt commons/test
. Подробнее см. В Scopes.
Вы также можете использовать комбинацию из двух команд из sbt - изменения текущего проекта с помощью project
и последующего выполнения test
.
sbt "project commons" test
Вы также можете использовать
sbt "; project commons; test"
Ответ 2
Он работает sbt
в интерактивном режиме:
> project commons
> test
Вы можете вернуться к core
с помощью:
> project core
Ответ 3
Ничего, я наткнулся на это:
Как выполнить пакет для одного подмодуля только на Jenkins?
sbt "project core" test
Ответ 4
Как я могу запустить чистую и протестировать сразу для данного модуля?
Ответ 5
запускать тест sbt ТОЛЬКО для ТОЛЬКО субмодулей, добавленных, измененных для удаленных файлов, если вы используете git:
while read -r proj ; do sbt "project $proj" test ; \
done < <(git status --porcelain | cut -c 3- | cut -d/ -f1
Ответ 6
Еще один способ сделать это.
Войдите в интерактивный режим SBT
> сб
sbt: core> commons/test
Нет необходимости переключаться между проектами.