Ответ вслух Senior Jest и Vitest обновлено

Jest или Vitest в новом проекте

Вопрос

Вы настраиваете тесты для нового фронтенд-проекта на Vite и TypeScript. Что выберете и как настроите?

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

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

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

Коротко

Образцовый ответ: «На Vite беру Vitest: он переиспользует конфиг и алиасы, понимает TypeScript и ESM без ts-jest, API почти как у Jest, так что команда переключится быстро. Логику тестирую в окружении node, компоненты в jsdom через Testing Library, сеть мокаю через MSW, чтобы не мокать fetch руками.

Что должно прозвучать в ответе

  • Vitest: тот же конфиг, ESM и TS без трансформеров, совместимый с Jest API

  • Окружение: jsdom или happy-dom для компонентов, node для логики

  • Testing Library для компонентов, MSW или моки для сети

  • Покрытие v8 с порогами, запуск в CI

  • Когда Jest: легаси, специфичные плагины, React Native

Что могут спросить следом

  • Как мигрировать с Jest на Vitest?
  • Что такое browser mode?

Разбор

Образцовый ответ: «На Vite беру Vitest: он переиспользует конфиг и алиасы, понимает TypeScript и ESM без ts-jest, API почти как у Jest, так что команда переключится быстро. Логику тестирую в окружении node, компоненты в jsdom через Testing Library, сеть мокаю через MSW, чтобы не мокать fetch руками. Покрытие v8 с порогами, которые роняют CI. Jest оставил бы там, где он уже есть и мигрировать нет смысла, или где экосистема завязана на него, как в React Native»).

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

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