intermediate
Supertest и MSW
Проверяйте HTTP handlers через Supertest и изолируйте browser или Node network boundaries через MSW request handlers вместо brittle ad hoc mocks.
Supertest гоняет HTTP-сервер в Node integration-тестах — проверяет status, headers и JSON против реальных route handlers. MSW перехватывает сеть на уровне fetch/XHR декларативными handlers, в Node и браузере без переписывания каждого client mock.
Supertest для API-поверхности, MSW во frontend-тестах для согласованных ответов backend.
На интервью: когда MSW лучше `jest.mock('axios')` и чем Supertest отличается от изолированного controller.
Типовые ошибки: MSW handlers расходятся с прод API; Supertest без очистки БД; необработанные запросы в strict mode.
Компромисс — реалистичные сетевые границы против сложности общих handler-фикстур.
Чеклист:
- Централизуйте MSW handlers рядом с типами API или OpenAPI.
- Сбрасывайте handlers между тестами.
- Supertest против реального app instance, не только stub router.