Ответ 1
Вам нужно добавить инструкцию для установки теста.
import django
django.test.utils.setup_test_environment()
Найдите более подробную информацию, следуя моей ссылке: http://jazstudios.blogspot.com/2011/01/django-testing-views.html
Я перенес свое приложение Django с моей машины разработки (OS X, Python 2.6.5, Django 1.2.3) на промежуточный сервер (Ubuntu VM, Python 2.6.6, Django 1.2.3).
Если теперь я запускаю свой тестовый пакет на промежуточном сервере, два теста терпят неудачу при использовании Django TestClient, потому что response.context - None (но response.content правильный).
Например:
self.assertEquals(self.session.pk, response.context['db_session'].pk)
Эти тестовые примеры передаются на машину разработки.
Кто-нибудь сталкивался с подобными проблемами?
Вам нужно добавить инструкцию для установки теста.
import django
django.test.utils.setup_test_environment()
Найдите более подробную информацию, следуя моей ссылке: http://jazstudios.blogspot.com/2011/01/django-testing-views.html
Из документации Django:
Хотя * ваш код * [+] будет работать в интерактивном интерпретаторе Python, некоторые из функций тестового клиента, особенно связанные с шаблоном, доступны только во время тестирования. Причина этого в том, что тестовый бегун Django выполняет немного черной магии, чтобы определить, какой шаблон был загружен данным видом. Эта черная магия (по существу, исправление системы шаблонов Django в памяти) происходит только во время тестирования.
Поэтому, если вы запускаете его в тестовом прогоне, он должен работать.
Вы можете видеть этот вопрос