TLDR; Если вы используете Swagger для разработки своего API, вы можете использовать Dredd для тестирования своего веб-API без написания единого тестового примера.
В наши дни TDD/BDD становится довольно популярным, и в Интернете полно сообщений, в которых люди рекомендуют этот стиль. Но если ваш API имеет много конечных точек, он становится довольно громоздким и удваивает вашу работу (хотя в долгосрочной перспективе это окупается).
С тех пор, как я начал разрабатывать API с помощью Swagger (OpenAPI), я всегда чувствовал, что объема информации в спецификации Swagger должно быть достаточно для автоматической генерации тестовых случаев для вашего веб-API или, по крайней мере, для автоматического тестирования ваших конечных точек.
В поисках такого инструмента я наткнулся на Dredd. Для меня это была мечта.
Как это работает
В двух словах, Dredd делает следующее:
- Берет ваш документ с описанием API,
- создает ожидания на основе запросов и ответов, задокументированных в документе,
- делает запросы к тестируемому API,
- проверяет соответствие ответов API задокументированным ответам,
- сообщает результаты.
Его так просто использовать:
npm установить -g дредд
dredd swagger.yaml http://localhost:3000
Вы также можете добавить его файл конфигурации в свой проект:
Дредд инициализирует
дредд
Затем он будет запускать тесты:
Dredd предлагает гораздо больше, включая непрерывную интеграцию, создание отчетов и т. д. Подробную информацию см. в официальных документах: