Итак, я только начал использовать mock с проектом Django. Я пытаюсь высмеять часть представления, которое делает запрос к удаленному API для подтверждения запроса на подписку подлинным (форма проверки в соответствии с спецификацией, над которой я работаю).Python mock, django и запросы
То, что я похож на:
class SubscriptionView(View):
def post(self, request, **kwargs):
remote_url = request.POST.get('remote_url')
if remote_url:
response = requests.get(remote_url, params={'verify': 'hello'})
if response.status_code != 200:
return HttpResponse('Verification of request failed')
Что теперь я хочу сделать, это использовать издеваться издеваться вне requests.get
вызов, чтобы изменить ответ, но я не могу работать, как сделать это для патч-декоратор. Я думал, вы что-то вроде:
@patch(requests.get)
def test_response_verify(self):
# make a call to the view using self.app.post (WebTest),
# requests.get makes a suitable fake response from the mock object
Как это достичь?
Замедление при использовании mocks? Существует также django.test.client.RequestFactory - https://docs.djangoproject.com/en/1.5/topics/testing/advanced/#module-django.test.client – David
Просто для будущих зрителей, вопросник хотел насмехаться внешний вызов API. Не вызов самого представления. В этой ситуации маки кажутся очень разумными. – aychedee
В соответствии с @aychedee это действительно то, к чему я стремился с этим вопросом. – jvc26