Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Автоматизация тестирования третьесторонних сервисов.(Python)

webservices
mock
python
Теги: #<Tag:0x00007f7b6471c910> #<Tag:0x00007f7b6471c7d0> #<Tag:0x00007f7b6471c690>

(Korolevsky Max) #1

Здравствуйте, уважаемые!
Нужен ваш совет.
Есть проект, на котором работает, и довольно успешно BDD тесты на Behave. Автоматизированы как веб часть, так и API, сейчас речь пойдет об API.
На проекте используется(куда без них xD ) куча third-party сервисов, которые мне совсем неинтересно тестить, и которые добавляют нестабильности моим автотестам, да и к тому же отнимают драгоценное время как разработчиков, так и моей команды. Злободневно это Mandrill и Sailthru ( чёрт побери эту проверку писем )
Так вот есть желание переадресовывать запросы апи на локалхост и там сделать собственный сервис, на моках, к примеру, который будет валидно отдавать ответы апишке, тестам же показывать реквест от АПИ и валидировать как раз его. Есть ли у вас, идеи, с чего бы начать?
Пока работаем в вагранте, но сейчас будем переходить в докер(через недельки 2), не суть особо, в вагранте используем CentOS, в докере будем юзать Ubuntu.


(James May) #2

Знаю, что у нас разрабы используют http://jmockit.org/ для сторонних сервисов


#3

Если нужны заглушки, а не моки, то для Python есть 2 простых фреймворка - Bottle и Flask.


(Korolevsky Max) #4

Просто заглушки не подойдут, нужно отдавать апишке вменяемый респонз и передават тестам для проверки реквест.


(Korolevsky Max) #5

Это, конечно, хорошо, но тут идёт речь о пайтон)


(rmerkushin) #6

Напишите эмулятор на SoapUI, это просто быстро и очень гибко. Для своих нужд только его и использую. Позволяет делать даже асинхронно-извращенные вещи типа вход аля REST сервис а на выходе - SOAP :smile:

P.S.: Если принципиально Python-only, то как и писали выше, Flask легко покроет ваши нужды.


(Mykhailo Poliarush) #7

“Парни и девченки” уже 300 лет собираем разные полезные ссылки у нас на github, пора бы уже запомнить урл

Советую посмотреть в секцию TDD \ ATTD \ BDD (Mocking) по python

Найдете много интересного

mock - A Python Mocking and Patching Library for Testing.
Ludibrio - Elegant test doubles framework in Python (mocks, stubs, spy, and dummies).
responses - A utility library for mocking out the requests Python library.
doublex - Powerful test doubles framework for Python.
freezegun - Travel through time by mocking the datetime module.
httpretty - HTTP request mock tool for Python.
httmock - A mocking library for requests for Python 2.6+ and 3.2+.
pretenders - fake servers for testing.
mock-server - Simple mock server for REST and XML-RPC API with admin panel based on tornado.
VCR.py - Automatically mock your HTTP interactions to simplify and speed up testing.