【发布时间】:2011-07-26 07:46:47
【问题描述】:
在views.py中:
get_dict = Site.objects.getDictionary(request.COOKIES['siteid'])
{根据 cookie 中的 id 获取包含站点信息的字典}
在tests.py中:
from django.test import TestCase
class WebAppTest(TestCase):
def test_status(self):
response = self.client.get('/main/',{})
response.status_code # --->passed with code 200
response = self.client.get('/webpage/',{'blog':1})
response.status_code # ----> this is failing
为了呈现博客页面,它会转到一个视图,在该视图中使用现有的 cookie 获取字典、处理它、呈现模板,这在运行应用程序时可以正常工作。但是测试失败了。从未测试过 Django webapps 我不确定如何正确测试它。这是回溯。
Traceback(最近一次调用最后一次):
File "<console>", line 2, in <module>
File "/usr/lib/pymodules/python2.6/django/test/client.py", line 313, in post
response = self.request(**r)
File "/usr/lib/pymodules/python2.6/django/core/handlers/base.py", line 92, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/var/lib/django/data/../webpage/views.py", line 237, in getCostInfo
get_dict = Site.objects.getDictionary(request.COOKIES['siteid'])
KeyError: 'siteid'
浏览了一些在线示例,但找不到深入处理 cookie/会话的内容。任何想法或指向有用链接的指示都将受到高度赞赏。
【问题讨论】:
标签: django unit-testing session testing cookies