2015-03-13 2 views
1

У меня есть функция, которая делает вызов:Симуляция ответы от сервера третьей стороны в Django

GET www.thirdpartydomain.com/objectlist/ 

и извлекает список JSON следующим образом: [ { ID: 1, имя: ' ABC», }, { ID: 2, имя: 'защиту', } ]

, а затем функция петли через объекты в массиве надуманным и делает дальнейшие звонки

GET www.thirdpartydomain.com/object/<id> --- where id is in the fetched json array 

Для тестирования, я не хочу называть thirdpartydomain API и вместо того, чтобы подделать его с известными ответами на детали всех API

Как я могу сделать это в Django?

+0

Я бы сказал, что в основном это зависит от того, как вы отправляете запрос на сторонний веб-сайт. Если вы используете модуль ['request'] (http://docs.python-requests.org/en/latest/), вы можете использовать модуль [' response'] (https://github.com/getsentry/ ответы) на «подделку» HTTP-запроса и получение результатов, которые вы хотите проверить. – bvidal

+0

+1 для 'ответов' ... есть также https://pypi.python.org/pypi/httpretty, они оба хорошие, но разные, использовали их как – Anentropic

ответ

0

Вы посмотрели Betamax? Цитирую из документации:

Betamax перехватывает каждый запрос вы делаете, и пытается найти запрос соответствия, который уже был перехвачен и записанную

Вы бы декорировать тесты целесообразно, первый время, когда вы их запускаете, будет издеваться над ними из того, что было записано ранее.