3
get_dict = Site.objects.getDictionary(request.COOKIES['siteid'])
는 {쿠키에서 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
블로그 페이지를 표시하기 위해 기존 쿠키를 사용하여 사전을 가져와 처리하고, 템플릿을 렌더링하며, 앱을 실행할 때 잘 작동합니다. 하지만 테스트가 실패했습니다. Django 웹 애플리케이션을 테스트 한 적이 없지만 올바르게 테스트하는 방법을 모르겠습니다. 여기에 추적이있다.
역 추적 (마지막으로 가장 최근에 호출) :
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'
는 일부 온라인 샘플을 통해 갔다 그러나 쿠키/세션을 심도있게 다루는 뭔가를 찾을 수 없습니다. 유용한 링크에 대한 아이디어 나 지시 사항은 매우 높이 평가됩니다.
아 session.save : 귀하의 경우
, 나는 테스트 뭔가 더처럼 기대. 그 부분에 대해 논평하는 것은 일을 시작했습니다. 이것은 좋은 시작일 것입니다. 세션 ID가 세션에 저장되었을 때 왜 작동했는지 제게 알려주십시오. 고마워. – stackover
세션에 'siteid'가 없으므로. –
또한 내 의견에는 request.session [ 'choice']에 사용자 선택 항목이 저장되어 있습니다. 그 불평을 다시, 그래서 session.update ({ '선택': '기술'}) 같은 테스트에서 client.session 업데이트하려고했습니다. 이게 효과가 없어. 중요한 오류 '선택'이 생겨. 좋은 생각이야? 죄송합니다. 게시 할 곳이 아닌 경우. – stackover