Перейти к содержанию

Начало урока

Тестирование Node API

Докажите, что ваши маршруты Express работают — автоматически, при каждом изменении — с помощью Jest и Supertest

Главная идея: Тест API отправляет настоящий HTTP-запрос в ваше приложение Express и проверяет ответ, не открывая браузер или Postman вручную. Написанный один раз, тот же тест выполняется за доли секунды при каждом изменении кода и ловит сломанный маршрут раньше, чем это заметят пользователи.
К концу вы сможете:
  • писать и запускать набор тестов с Jest (describe, test, expect);
  • управлять приложением Express через Supertest — без порта и без listen;
  • проверять коды состояния, тела JSON и заголовки реальных маршрутов;
  • подменять (mock) медленную или внешнюю зависимость (например, базу данных), чтобы тесты оставались быстрыми и предсказуемыми;
  • сбрасывать тестовые данные между тестами, чтобы каждый выполнялся изолированно.

1. Зачем автоматизировать тесты API?

Вы уже умеете строить маршруты с Express. Но как узнать, что они всё ещё работают после рефакторинга, добавления функции или обновления зависимости? Проверять приложение вручную медленно, легко забыть и невозможно повторить в точности. Автоматический тест кодирует проверку один раз и выполняет её всегда.

Аналогия. Ручное тестирование — это как попробовать суп один раз и надеяться, что всю неделю он не изменится. Автоматический тест — это дымовой датчик на кухне: он следит постоянно и кричит в тот же миг, когда что-то подгорает, в комнате вы или нет.

Тесты API находятся на удобном уровне. Они шире, чем модульный тест (который проверяет одну функцию изолированно), но дешевле и быстрее полноценного сквозного теста (который управляет настоящим браузером на развёрнутом сервере). Тест API загружает ваше приложение Express app в память, выстреливает по нему HTTP-запросом и проверяет ответ. Достаточно быстро, чтобы запускать сотни раз в день; достаточно реалистично, чтобы ловить ошибки маршрутизации, кодов состояния и формы тела.

Продолжите этот урок на YourAIZone

В полном уроке — объяснение целиком, разобранные примеры, частые ошибки, тесты с мгновенной проверкой и ИИ-репетитор. Начните сразу как гость или создайте аккаунт, чтобы сохранять прогресс.

В полном уроке

  • Объяснение целиком
  • Разобранные примеры
  • Частые ошибки и как их избежать
  • Тестовые вопросы: 15
  • ИИ-репетитор, который отвечает на вопросы по теме
  • Отслеживание прогресса для ученика, родителей и учителя