Как правильно выполнить юнит-тестирование сессии Django? - PullRequest
3 голосов
/ 31 марта 2010

Поведение сеансов Django изменяется между кодом «стандартных» представлений и тестовым кодом, что делает неясным, как тестовый код пишется для сессий. Поиск в Google приводит к двум важным дискуссиям по этому вопросу:

  1. Упрощение манипулирования сессиями тестовый клиент

  2. test.Client.session.save () повышает ошибка для анонимных пользователей

Я запутался, потому что оба билета имеют разные способы решения этой проблемы, и они оба были приняты. Я предполагаю, что это означает, что они были исправлены, и поведение теперь другое. Я также не знаю, к каким версиям относятся эти патчи.

Если я пишу модульный тест в Django 1.0, как мне настроить хранилище сессий, чтобы они работали так же, как в браузере?

1 Ответ

1 голос
/ 02 июля 2012

Я не совсем понимаю, что вы имеете в виду, говоря, что поведение меняется между "стандартным" представлением и "тестовым" кодом, может быть, вам стоит уточнить это.

но что касается тестирования сессии, я думаю, что есть подходы.

  1. Вы должны понять, как работает сессия django, прочитайте модульный тест для пакета сессий, который вы использовали в своем приложении. это касается понимания того, как работает серверная часть.
  2. вам, вероятно, нужно записать несколько разговоров между браузером и сервером (например, с помощью FIREBUG)

так что проблема для вас выглядит так, что вы не передаете session_id, который вы получаете, когда вы снова входите на сервер, когда вы общаетесь с сервером. как положить его в (POST, GET, COOKIES, я не совсем помню это).

Здесь важно понять, как сессия работает в HTTP, как только вы это получите, у вас определенно будет четкое представление о том, что там происходит, и сделайте соответствующие объяснения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...