Выбор ответа Middle Тестирование спрашивают часто обновлено
Фейк или мок
Вопрос
Чем фейк отличается от мока?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Фейк это рабочая упрощённая реализация, мок объект с настроенными ответами и проверкой вызовов. Фейк ведёт себя как настоящая реализация, только проще: сохранил, потом прочитал.
Варианты ответа
- Фейк это рабочая упрощённая реализация, мок объект с настроенными ответами и проверкой вызововправильный ответ
- Ничем: это синонимы, MockK и Mockito просто по-разному называют одно понятие
- Фейк работает только в UI-тестах на устройстве, а мок только в локальных тестах на JVM
- Мок лучше фейка: он не требует поддержки отдельного кода и проверяет каждый вызов зависимостей
Разбор
Фейк ведёт себя как настоящая реализация, только проще: сохранил, потом прочитал. Он переиспользуется во многих тестах и проверяет поведение. Мок (MockK, Mockito) возвращает заранее настроенные значения и позволяет проверить, был ли вызов (verify), но привязывает тест к деталям реализации. Google в гайдах по тестированию рекомендует фейки там, где возможно. Оба используются в любых тестах.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.