그래서 방금 장고 프로젝트에서 모의 작업을 시작했습니다. 원격 가입 요청을 확인하기 위해 원격 API에 대한 요청을 만드는 뷰의 일부를 조롱하려고합니다 (내가 작업중인 사양에 따라 확인하는 형식).파이썬 모의, django 및 요청
I과 유사한이 무엇 :
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
나는 이것을 어떻게 할까?
모의 사용시 불량인가? django.test.client.RequestFactory - https://docs.djangoproject.com/ko/1.5/topics/testing/advanced/#module-django.test.client – David
미래의 시청자를 위해 질문자는 모의하고 싶었습니다. 외부 API 호출. 보기 자체에 대한 호출이 아닙니다. 모의는 그 상황에서 매우 합리적인 것 같습니다. – aychedee
@aychedee에 따르면 이것은 실제로 내가이 질문에 대해 목표로 삼은 것입니다. – jvc26