2016-07-05 20 views
0

Ich habe eine Django-Einheit Test-Klasse, die auf django_webtest.WebTest basiert, und ich kann keine geeignete Möglichkeit finden, eine Sitzungsvariable während des Tests zu setzen. Ich habe folgendes versucht, aber ich arbeite nichtDjango UnitTest - Einstellen der Sitzungsvariablen

from django_webtest import WebTest 
class TestMyTests(WebTest): 
    def test_my_tesst(self): 
     ... 
     self.app.session['var1'] = 'val1' 
     ... 
+0

Was ist django_webtest Warum verwenden Sie nicht die Standard-Testtools? – e4c5

Antwort

0

Das heißt im Allgemeinen, was Client für ist. Es hat Zugriff auf die Sitzungsdaten. Ich kann nicht für django_webtest, sprechen denn das ist eine Außen Bibliothek für django, aber intern für Unittesting, können Sie Zugriff auf und setzen Sitzungsdaten wie folgt:

import unittest 
from django.test import Client 

class TestMyTests(unittest.TestCase): 

    def setUp(self): 
     self.client = Client() 

    def test_my_test(self): 
     ... 
     session = self.client.session 
     session['somekey'] = 'test' 
     session.save() 
     ... 

Das obige Beispiel wurde aus dem Django Documentation auf Test-Tools zu entnehmen.