JS: Express
2026-02-26 20:06 Diff

Функциональное тестирование — это тестирование ПО в целях проверки реализуемости функциональных требований, то есть способности ПО в определённых условиях решать задачи, нужные пользователям.

В отношении сайтов такое тестирование можно провести, делая HTTP-запросы к соответствующим обработчикам и проверяя их ответ. Чтобы это было возможно, требуется небольшая дисциплина кода. В случае Express она выражается в том, что определение приложения отделяется от его запуска.

Такое разделение позволяет библиотекам для тестирования самостоятельно запускать приложение и останавливать его при выполнении запросов. Что, в свою очередь, позволяет легко этими тестами управлять. Вам не придётся следить за тем, чтобы поднять сервер или выключить, вы просто будете запускать тесты и проверять результат.

Supertest

Supertest — это библиотека, созданная исключительно с целью проводить функциональное тестирование HTTP-интерфейса.

После выполнения запроса она возвращает response, который содержит параметры ответа, а также объект error, в случае если произошла ошибка. Все тесты этого курса написаны с помощью данной библиотеки. При этом важно отметить, что эта библиотека не позволяет проверить генерируемый HTML, поэтому возможны ситуации, при которых ваш HTTP-интерфейс работает, а формы на сайте сделаны неправильно, что означает невозможность использования сайта. На данном этапе в бой вступает приёмочное тестирование, которое не рассматривается в рамках данного курса.

Superagent

В основе библиотеки Supertest лежит другая библиотека - Superagent. Именно она позволяет формировать произвольные запросы к серверу.