0
我试图覆盖HTTP_POST到一个视图中请求对象的特定字符串:如何使用mock.patch()获取Django请求对象?
with patch('django.core.handlers.wsgi.WSGIRequest') as request:
request.META = {'HTTP_HOST': 'www.abc.com'}
resp = self.client.get('/')
但很明显,它不工作,因为它的抱怨HTTP_POST
KeyError异常
我没有特别的观点来测试,因为这是一个库,我只是想测试中间件,但看起来像我可能只是直接测试中间件而不经过请求 – 2015-03-31 00:21:31
你仍然需要一个'请求对象。另一个选择是简单地使用'django.http.request.HttpRequest',它比'WSGIRequest'更容易构建。这两种方法都是专门为测试而定制的,并且经常在Django的测试套件中使用。 – knbk 2015-03-31 00:39:02