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

После рефакторинга сервиса упали 30 тестов, хотя поведение не изменилось

Тесты сервиса оформления заказа устроены так:

service.checkout(cart);
verify(priceCalculator).calculate(cart);
verify(repository).save(any(Order.class));
verify(eventPublisher).publish(any());

Разработчик объединил расчёт цены и сохранение в один метод репозитория — результат для клиента тот же, но 30 тестов упали. Что в тестах стоит изменить?

  • Проверять результат и наблюдаемые эффекты, а verify оставлять для важных взаимодействий
  • Добавить ещё больше verify, чтобы описать каждый вызов
  • Заменить verify на verifyNoMoreInteractions
  • Не проводить рефакторинг без предварительного обновления тестов

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

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

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

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