Как замокать внешнюю зависимость в Playwright?

Если зависимость вызывается браузером, перехватите нужный URL через page.route или context.route и верните подготовленный ответ. Серверные вызовы backend так не перехватываются.

Короткий ответ

Что ответить на собеседовании

Если зависимость вызывается браузером, перехватите нужный URL через page.route или context.route и верните подготовленный ответ. Серверные вызовы backend так не перехватываются.

Подробный разбор

Ответ с пояснениями

Если зависимость вызывается браузером, перехватите нужный URL через page.route или context.route и верните подготовленный ответ. Серверные вызовы backend так не перехватываются.

Пример JS/TS:

await page.route('**/api/profile', route => route.fulfill({
  status: 200,
  contentType: 'application/json',
  body: JSON.stringify({ id: 1, name: 'Test user' })
}));

Правило регистрируют до действия, запускающего запрос. Уточняйте метод и URL, чтобы не скрыть лишние обращения. Для внешней зависимости самого backend нужен stub-сервис или другая серверная подмена. Проверяйте, что mock соответствует настоящему контракту и не содержит чувствительных данных.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее