Как скомпилировать тесты с SBT, не запуская их

Есть ли способ создавать тесты с SBT без их запуска?

Мой собственный вариант использования - запустить статический анализ тестового кода с помощью плагина scalac. Другой возможный вариант использования - запускать часть или весь тестовый код, используя отдельный бегунок, отличный от того, который встроен в SBT.

В идеале было бы решение этой проблемы, применимое к любому проекту SBT. Например, в Maven есть команда test-compile, которую можно использовать только для компиляции тестов без их запуска. Было бы здорово, если бы у SBT было то же самое.

Менее идеальными, но все же очень полезными могут быть решения, предполагающие изменение файлов сборки проекта.


person user1809090    schedule 12.12.2012    source источник


Ответы (4)


Просто используйте команду test:compile.

person Guillaume Massé    schedule 12.12.2012
comment
компилирует ли это тесты и код? или только тесты? - person Jwan622; 31.05.2018

test:compile работает для компиляции ваших модульных тестов.

Для компиляции интеграционных тестов вы можете использовать it:compile.

Еще один совет для непрерывной компиляции при каждом изменении файла: ~test:compile

person Brendan Maguire    schedule 30.01.2017

У нас есть build.sbt файл, который используется для нескольких проектов. Выполнение sbt test:compile скомпилировало тесты для каждого проекта и заняло более 30 минут.

Я обнаружил, что могу скомпилировать только тесты для конкретного проекта с именем xyz, выполнив:

sbt xyz/test:compile
person pacoverflow    schedule 19.03.2019

При использовании sbt версии 1.5.0 и выше test:compile возвращает предупреждение об устаревании.

Используйте Test / compile.

(документы)

person ibanezn04    schedule 30.04.2021