【发布时间】:2014-04-17 05:23:26
【问题描述】:
我正在使用 Django 测试客户端 (django.test.Client) 来运行视图测试。在尝试在我的处理登录后请求的索引函数上使用测试客户端时,即使身份验证成功发生,它也会不断失败测试。
这是我的测试:
def test_login(self):
response = self.client.post('/login/', {'username':'user', 'password':'pass'})
print response.content
self.assertIn(SESSION_KEY, self.client.session)
所以我知道登录过程成功的原因是 response.content 从另一个视图生成 HTML 数据,只有在 request.user.is_authenticated() 为真时才能访问。换句话说,他们必须为 response.content 登录才能产生“登录页面”。因此,鉴于此,我可以看出该功能显然适用于登录用户的实际目的,但是,我一直在搜索文档数小时试图弄清楚为什么我无法从客户端会话访问 SESSION_KEY。我所有的阅读都表明,django 测试客户端实际上是有状态的,应该存储会话。
有人能解释一下吗?
【问题讨论】:
标签: python django django-views django-testing