SBT / Scala и интеграционное тестирование
исследуя тему автоматизации моих интеграционных тестов, я обнаружил хороший плагин в мире maven под названием FailSafe. это дает мне фазы, такие как pre-integration-test, post-integration-test и integration-test.
связывая эти фазы, я могу иметь другие плагины, которые могут запускать/останавливать и запускать изображения docker.
плагин также имеет хороший способ, которым я могу различать UnitTests и IntegrationTests (хотя оба они написаны в тесты JUnit.)
теперь вопрос в том, как я могу сделать то же самое с комбинацией Scala / SBT?
мое требование
- напишите интеграционные тесты в SpecFlow.
- интеграционные тесты рассматриваются иначе, чем модульные тесты.
- первый блок тестов.
- затем создаются контейнеры docker и запускаются
- затем выполняются интеграционные тесты.
- настройки содержит закрыть.
- результаты тестов записываются в файлы. (как и плагины surefire/failsafe).
возможно ли это в комбинации Scala/sbt?
2 ответов
простое решение-запустить $ sbt "~ it:test"
(убедитесь, что интеграционный тест находится в пакете с именем "it") для интеграционного теста, который будет автоматически запускаться при каждом обновлении исходного кода. Более того,$sbt "~ test"
для автоматизированного модульного тестирования. Если вы используете IDE, такую как IntelliJ IDEA, вы можете упростить ее запуск в пользовательской конфигурации из IDE. Надеюсь, это немного поможет. Я постоянно их запускаю, когда работаю.
Я нашел ответ на вопрос. SBT предоставляет средства для выполнения интеграционного теста, а также методы настройки и очистки для создания / уничтожения контейнеров docker