Выбор ответа Middle Тестирование в Spring обновлено
@ServiceConnection
Вопрос
Что делает @ServiceConnection на поле с контейнером Testcontainers в Boot 3.1+?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Сам настраивает подключение к контейнеру. Boot определяет тип контейнера (PostgreSQL, Kafka, Redis и др.) и регистрирует ConnectionDetails, из которых строятся DataSource и клиенты.
Варианты ответа
- Запускает контейнер ещё до старта JVM тестов
- Подменяет контейнер на H2, если Docker недоступен
- Делает контейнер общим для всех тестов в CI
- Сам настраивает подключение к контейнеруправильный ответ
Разбор
Boot определяет тип контейнера (PostgreSQL, Kafka, Redis и др.) и регистрирует ConnectionDetails, из которых строятся DataSource и клиенты. Раньше то же делали вручную через @DynamicPropertySource. Запуск контейнера управляется Testcontainers, подмены на H2 нет, а общий контейнер на весь прогон делают static-полем или singleton-паттерном.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.