Выбор ответа Junior Тестирование: JUnit 5 и Mockito спрашивают часто обновлено
Мок и стаб
Вопрос
Чем мок отличается от стаба?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Стаб отдаёт заданные ответы, мок ещё проверяет, как его вызвали. Стаб обеспечивает косвенный ввод: when(...).thenReturn(...).
Варианты ответа
- Мок работает только с интерфейсами, а стаб только с классами
- Стаб отдаёт заданные ответы, мок ещё проверяет, как его вызвалиправильный ответ
- Стаб используется в интеграционных тестах, а мок только в юнит-тестах
- Ничем: это синонимы для подменного объекта в Mockito
Разбор
Стаб обеспечивает косвенный ввод: when(...).thenReturn(...). Мок в строгом смысле проверяет косвенный вывод: verify(mock).send(...). В Mockito один и тот же объект может играть обе роли. К интерфейсам, классам и виду тестов это не привязано.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.