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

Тест контроллера зелёный, а в проде LazyInitializationException

Интеграционный тест помечен @Transactional, чтобы откатывать данные после каждого теста. Он вызывает сервис, получает заказ и проверяет order.getItems().size(). Тест зелёный. В проде тот же код при сериализации ответа падает с LazyInitializationException.

Почему тест не поймал ошибку?

  • Транзакция теста открыта на весь метод, поэтому ленивая коллекция успешно подгрузилась
  • В тестах Hibernate всегда загружает связи сразу
  • LazyInitializationException возникает только под нагрузкой
  • Сериализация в тестах отключена, поэтому коллекция не читается

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

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

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

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