diff --git a/docs/topics/testing/tools.txt b/docs/topics/testing/tools.txt index 99a4634c1c..4b279ab0e3 100644 --- a/docs/topics/testing/tools.txt +++ b/docs/topics/testing/tools.txt @@ -475,14 +475,22 @@ can access these properties as part of a test condition. A dictionary-like object containing session information. See the :doc:`session documentation` for full details. - To modify the session and then save it, it must be stored in a variable - first (because a new ``SessionStore`` is created every time this property - is accessed):: + In Django 1.7, ``client.session`` returns a plain dictionary if the session + is empty. The following code creates a test client with a fully working + session engine:: - def test_something(self): - session = self.client.session - session['somekey'] = 'test' - session.save() + from importlib import import_module + + from django.conf import settings + from django.test import Client + + def get_client_with_session(self): + client = Client() + engine = import_module(settings.SESSION_ENGINE) + s = engine.SessionStore() + s.save() + client.cookies[settings.SESSION_COOKIE_NAME] = s.session_key + return client Example ~~~~~~~