[#] Как не дать частым релизам поломать ваше API, или пишем авто-тесты для открытого API и шлем результат в Telegram бот
habrabot(difrex,1) — All
2016-06-08 15:00:03


![image][1]

## **Предисловие**


Наша команда разрабатывает финансовые инструменты, в том числе открытые платежные API, и как многие проекты, работающие по практике continuous integration мы одновременно с созданием проекта 3 года назад начали думать над тем, как улучшить покрытие проекта тестами и добиться максимальной стабильности нашего кода при довольно частых изменениях (мы иногда устанавливаем обновления на продуктовую среду несколько раз в день). Особенно это важно в трех аспектах:

* мы предоставляем наши API интерфейсы в открытый доступ клиентам и важно, чтобы все взаимодействие четко соответствовало описаниям спецификаций
* мы интегрируемся с большим количеством других финансовых сервисов и банков, и помимо покрытия тестами своего кода мы вынуждены также покрывать интеграционными тестами взаимодействие с test (а иногда и prod) средой сторонних систем
* наша внутренняя архитектура включает в себя большое количество микросервисов, которые общаются между собой по HTTP API


В этой статье я хотел бы поделиться опытом и показать пример, как мы разрабатываем тесты для API интерфейсов включающих в себя как сервер-сервер взаимодействие, так и работу через браузер.  Для демонстрации я приведу простой пример тестирования процесса оплаты банковской картой через наш платежный шлюз с отправкой результата тестов в Telegram.
[Читать дальше →][2]

[1]: https://habrastorage.org/getpro/habr/post_images/3a1/3a6/6af/3a13a66afc5b9153c20cecedd24ff299.jpg
[2]: https://habrahabr.ru/post/302736/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut