6
有没有办法将用户代理字符串添加到RequestFactory请求对象?我有以下测试:将HTTP_USER_AGENT添加到Django RequestFactory请求中?
def test_homepage(self):
request = self.factory.get(reverse('home'))
response = views.home_page(request)
self.assertEqual(response.status_code, 200)
的问题是,home_page观点呼吁,要求request.META [“HTTP_USER_AGENT”]的功能。因此,上面的测试引发了一个KeyError,因为它不知道HTTP_USER_AGENT是什么。有没有办法将它添加到RF的请求对象?如果我使用Django的Client对象,我知道我可以添加它,但我不想走这条路线,因为我想消除所有中间件参与测试。
谢谢。
由于文档中则显示(我已经通过第二次试验证明我自己),你的建议如果使用测试客户端类的工作。不过,如果您使用的是RequestFactory对象,仍然会得到我描述的KeyError。 – William
@罗伯特,我测试了一下自己。它适用于Client,RequestFactory.get。 – falsetru
@Robert,BTW,我用Django 1.5.1。 – falsetru