Выбор ответа Middle ИИ и тесты обновлено
Моки всего подряд
Вопрос
В сгенерированном тесте сервиса расчёта цены замоканы репозиторий, курс валют и сама функция applyRules, которую и нужно проверить. Что верно?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Тест проверяет мок, а не логику: мокать надо только внешний мир. Если замокана проверяемая логика, тест проверяет, что мок вернул заданное значение.
Варианты ответа
- Это нормальная изоляция, так юнит-тест и должен выглядеть
- Плохо только то, что моки медленнее настоящих зависимостей
- Нужно добавить ещё мок логгера, чтобы тест стал полностью чистым
- Тест проверяет мок, а не логику: мокать надо только внешний мирправильный ответ
Разбор
Если замокана проверяемая логика, тест проверяет, что мок вернул заданное значение. Мокают границы: сеть, базу, время, внешние API. Сама бизнес-логика должна выполняться по-настоящему. Моки обычно быстрее реальных зависимостей, а дополнительный мок логгера проблему не решает.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.