Вступить в клуб →
средняявопросТестирование: JUnit 5, Mockito, Testcontainers

Каждый интеграционный тестовый класс заново поднимает контекст Spring

В проекте 80 классов с @SpringBootTest. Почти в каждом свой набор @MockBean (в новых версиях — @MockitoBean): где-то мок платёжного клиента, где-то мок клиента доставки, где-то оба. В логах прогона контекст поднимается десятки раз, прогон идёт 20 минут.

В чём причина?

  • Разные наборы моков меняют ключ кэша контекста, и Spring создаёт новый
  • Spring не кэширует контекст между тестовыми классами вообще
  • Моки Mockito создаются дольше, чем настоящие бины
  • Аннотация @SpringBootTest очищает кэш после каждого класса

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела