Выбор ответа Middle Тестирование обновлено
Зачем MSW в тестах компонентов
Вопрос
Почему для тестов компонентов с запросами часто выбирают MSW, а не vi.mock('axios')?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: MSW перехватывает запросы на уровне сети, тест не зависит от клиента. MSW описывает ответы на уровне запросов (метод, URL).
Варианты ответа
- MSW перехватывает запросы на уровне сети, тест не зависит от клиентаправильный ответ
- MSW ходит в настоящий бэкенд на стенде, поэтому тест реалистичнее
vi.mockне умеет мокать модули изnode_modules, только свои- MSW ускоряет тесты в 10 раз за счёт кеширования ответов
Разбор
MSW описывает ответы на уровне запросов (метод, URL). Код компонента и клиент остаются настоящими, тест проверяет весь путь от клика до отображения ответа. Те же обработчики можно использовать в Storybook и в разработке.
- В настоящий бэкенд MSW не ходит, он отвечает сам.
vi.mockумеет мокать пакеты, просто это привязывает тест к реализации.- Про скорость обещаний нет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.