Выбор ответа Middle ИИ и тесты обновлено

Моки всего подряд

Вопрос

В сгенерированном тесте сервиса расчёта цены замоканы репозиторий, курс валют и сама функция applyRules, которую и нужно проверить. Что верно?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Тест проверяет мок, а не логику: мокать надо только внешний мир. Если замокана проверяемая логика, тест проверяет, что мок вернул заданное значение.

Варианты ответа

  1. Это нормальная изоляция, так юнит-тест и должен выглядеть
  2. Плохо только то, что моки медленнее настоящих зависимостей
  3. Нужно добавить ещё мок логгера, чтобы тест стал полностью чистым
  4. Тест проверяет мок, а не логику: мокать надо только внешний мирправильный ответ

Разбор

Если замокана проверяемая логика, тест проверяет, что мок вернул заданное значение. Мокают границы: сеть, базу, время, внешние API. Сама бизнес-логика должна выполняться по-настоящему. Моки обычно быстрее реальных зависимостей, а дополнительный мок логгера проблему не решает.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.