Вступить в клуб →
средняявопросТестирование: pytest, фикстуры, моки

Юнит-тест с замоканной сессией ORM зелёный, а регистрация в проде падает

Сервис регистрации протестирован так: сессия SQLAlchemy заменена моком, тест проверяет, что был вызван session.add и session.commit. Тест зелёный. После релиза регистрация падает с IntegrityError: в таблице есть уникальный индекс по email, а повторная регистрация его нарушает.

Какой вывод правильный?

  • Мок не знает об ограничениях БД — такое ловит тест на настоящей базе
  • Мок был настроен неверно: надо было задать side_effect на commit
  • Юнит-тесты для кода с базой не нужны вообще, только e2e
  • Нужно было проверить assert_called_once_with с точными аргументами

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

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

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

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