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

Что такое spy

Вопрос

Чем spy (шпион) отличается от stub (заглушки)?

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

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

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

Коротко

Правильный ответ: Spy записывает вызовы и аргументы, stub подменяет ответ. Spy нужен, чтобы проверить взаимодействие: toHaveBeenCalledWith(...).

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

  1. Spy работает только с асинхронными функциями
  2. Stub запоминает вызовы, а spy возвращает заданное значение
  3. Spy записывает вызовы и аргументы, stub подменяет ответправильный ответ
  4. Это одно и то же, разные названия vi.fn

Разбор

Spy нужен, чтобы проверить взаимодействие: toHaveBeenCalledWith(...). Stub нужен, чтобы отрезать зависимость и вернуть предсказуемый ответ. vi.fn() умеет и то и другое, но роли всё равно разные.

  • Шпионить можно за любыми функциями.
  • Во втором варианте роли перепутаны.
  • То, что один инструмент совмещает роли, не делает понятия одинаковыми.

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

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