7
私のようなビューがあります。最後のコメントは私のテストである場合、私はしたいので、Djangoのテストテストでセッションデータを格納し
from django.test import TestCase, Client
from django.core.urlresolvers import reverse
from tool.models import Module, Model
from django.contrib.sessions.models import Session
def test_project_info_form_post_submission(self):
"""
Test if project info form can be submitted via post.
"""
# set up our POST data
post_data = {
'zipcode': '90210',
'module': self.module1.name,
'model': self.model1.name,
'orientation': 1,
'tilt': 1,
'rails_direction': 1,
}
...
self.assertEqual(response.status_code, 302)
# test if 'zipcode' in session is equal to posted value.
:
def ProjectInfo(request):
if request.method == 'POST':
form = ProjectInfoForm(request.POST)
if form.is_valid():
# if form is valid, iterate cleaned form data
# and save data to session
for k, v in form.cleaned_data.iteritems():
request.session[k] = v
return HttpResponseRedirect('/next/')
else:
...
else:
...
そして、私のテストでは特定の値がsession
dictにあり、key:valueの組み合わせが正しいかどうかをテストします。これについてどうすればいいですか? request.session
を使用できますか?
ご迷惑をおかけして申し訳ございません。 docsによると
スポット。ドキュメントでそれを見落としている必要があります! –
レスポンスがどこで使われているのかわかりません。それは必要ですか? – robline
'TestCase'が既にそれをしているので、' self.client'in'setUp() 'を設定する必要もありません(https://docs.djangoproject.com/ja/1.11/topics/testing/toolsを参照してください)。 /#default-test-client)を実行します。私は答えを編集しました。 – LaundroMat