Developer Tools / Testing · 2023
pycamel
Фреймворк для автоматизованого тестування API на базі pytest
PythonpytestAPI Testing
- Роль
- Соло-розробка фреймворку автоматизації тестування
- Стек
- Python, pytest, Pylint, Coverage, codecov
- Рік
- 2023
pycamel — фреймворк для автоматизованого тестування API-сервісів з безшовною інтеграцією в pytest. Він дає структурований спосіб писати тести API, особливо корисний для мікросервісних архітектур.
Задача
Коли команда працює з кількома сервісами й версіями API одночасно, розрізнені ad-hoc pytest-скрипти швидко перетворюються на хаос без спільної структури й перевикористовуваних компонентів.
Рішення
- ▸CamelConfig — ініціалізація конфігурації з базовим URL сервісу
- ▸RouterMaker — побудова маршрутів для різних API-ендпоїнтів
- ▸Параметризоване тестування через pytest.mark.parametrize
- ▸Методи валідації відповідей, зокрема assert_status_code
- ▸Підтримка фільтрів запитів та легке розширення для мультисервісних архітектур
Результат
Фреймворк налаштований на якість коду: Pylint для статичного аналізу та Coverage разом з codecov для контролю покриття тестами.