7
Ich habe einen Blick als solche:Django Test gespeichert Sitzungsdaten in Tests
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:
...
Und in meinen Tests:
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.
Also, wo der letzte Kommentar in meinem Test ist, möchte ich Testen Sie, ob ein bestimmter Wert in session
dict ist und dass die Paarung Schlüssel: Wert korrekt ist. Wie gehe ich vor? Kann ich request.session
verwenden?
Jede Hilfe sehr geschätzt.
Spot on. Das muss in der Dokumentation übersehen worden sein! –
Ich sehe nicht, wo die Antwort verwendet wird. Muss es sein? – robline
Sie müssen auch 'self.client'in'setUp() 'nicht setzen, weil' TestCase' das bereits für Sie erledigt (siehe https://docs.djangoproject.com/en/1.11/topics/testing/tools)/# Standard-Test-Client). Ich habe die Antwort bearbeitet. – LaundroMat