РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsnsSpTeInr 133 of 201 menu
◀ ▶

Введение в тесты в Nest

После правки сервиса или страницы легко сломать ответ, не заметив сразу: ручная проверка каждого адреса отнимает время, а регресс всплывает позже на другом шаге. Повтор одних и тех же действий вручную не масштабируется, когда классов становится больше.

Автоматические проверки запускают сценарий в NodeJS и сравнивают результат с ожиданием. Для Nest удобно собирать нужные классы в изолированном контейнере через пакет @nestjs/testing, а сами сценарии описывать в Vitest: блоки describe и it, сравнение через expect именно этот раннер выполняет.

Отдельно проверяют сервис, страницу, канал и защитник без поднятия всего приложения. Сквозной сценарий поднимает экземпляр приложения и бьёт в адрес через supertest, как клиент по HTTP. Зависимости и репозиторий базы можно подменить объектом, чтобы не тянуть PostgreSQL в каждый прогон.

Дальше разберём сборку тестового модуля, подмену провайдера, проверку одного метода сервиса, контроллера, канала, защитника, сквозной запрос с телом и заглушку репозитория.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить