testing-aqa senior
Главный плюс constructor injection в тестах?
Ответ
Не нужен Spring-контекст для юнит-теста. Просто new MyService(mock1, mock2) — и можно тестировать. Контекст Spring поднимается секунды-десятки секунд, на тысячах юнит-тестов это разница в часы CI.
Разбор: Ключевой плюс constructor injection для юнит-тестов — независимость от Spring-контекста: объект создаётся обычным new с переданными моками, без подъёма контейнера, что радикально ускоряет тысячи тестов. @MockBean как раз ТРЕБУЕТ контекста (это медленный интеграционный путь), final-поля не ускоряют Mockito, а возможность менять зависимости сеттерами — это минус field/setter injection, а не плюс конструктора.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.