在django.test.client中保存会话ID
我在数据库的一列中存储了Django的会话密钥(request.session.session_key)——这个应用不需要登录,使用会话来代表唯一用户是可以接受的。这样做没问题,但是现在我在写测试的时候遇到了一些麻烦。
因为测试客户端会保留 cookies,我原以为会话 ID 在多次请求中会保持不变。但看起来这个想法是错的。
举个例子,我希望在...
browser=Client()
browser.post(rating_url, {'term':'Helpful', 'action':'add'}, HTTP_X_REQUESTED_WITH='XMLHttpRequest')
browser.post(rating_url, {'term':'Helpful', 'action':'remove'}, HTTP_X_REQUESTED_WITH='XMLHttpRequest')
...这个视图中两次接收到的会话密钥是一样的。但实际上并不是这样。
如果有人能提供一个解决办法,我会非常感激。
1 个回答
0
这里有一个关于在单元测试中简化匿名会话使用的功能请求。在这个问题单上,你可以找到一种比较复杂的做法。这里是链接 - https://code.djangoproject.com/ticket/10899