Фотография
нажмите — покажем
нажмите — покажем
VCR.py - очень удобная библиотека для тестирования Python-кода, который ходит во внешние API.
Первый запуск теста делает реальные HTTP-запросы и сохраняет ответы в так называемую cassette - по умолчанию YAML-файл. Следующие запуски уже не идут в сеть: VCR.py перехватывает знакомый запрос и возвращает сохранённый ответ.
Что это даёт:
- тесты становятся детерминированными
- их можно запускать офлайн
- они работают заметно быстрее
- внешнее API не нужно дёргать сотни раз в CI
- если API изменилось, cassette можно просто перезаписать
Особенно полезно для тестов интеграций с REST API, платёжными сервисами, LLM API и любыми внешними HTTP-сервисами.
Проект активно развивается: в актуальной ветке 8.x есть поддержка HTTPX, custom transports, безопасная загрузка YAML и свежая поддержка niquests.
MIT License.
https://github.com/kevin1024/vcrpy
@Python_Community_ru
569 ·