Сбой теста Django Framework - PullRequest
0 голосов
/ 05 ноября 2010

Я использую django-nonrel.Когда я запускаю manage.py test над моим проектом, который содержит только один очень простой пользовательский тест, я получаю следующую ошибку в выводе.Кто-нибудь видел это раньше?Что мне нужно сделать, чтобы решить проблему, чтобы test_shortcut_view (django.contrib.contenttypes.tests.ContentTypesTests) был успешным?

/src/google_appengine/google/appengine/datastore/datastore_stub_util.py:21: DeprecationWarning: the md5 module is deprecated; use hashlib instead
    import md5
/src/google_appengine/google/appengine/api/memcache/__init__.py:31: DeprecationWarning: the sha module is deprecated; use the hashlib module instead
    import sha
/src/google_appengine/google/appengine/api/datastore_types.py:727: DeprecationWarning: object.__init__() takes no parameters
    super(Email, self).__init__(self, email)
............................................s.................F.....................................................................................................
======================================================================
FAIL: test_shortcut_view (django.contrib.contenttypes.tests.ContentTypesTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/src/django/contrib/contenttypes/tests.py", line 66, in test_shortcut_view
self.assertEqual("http://example.com/users/john/", response._headers.get("location")[1])
AssertionError: 'http://example.com/users/john/' != '/users/john/'

----------------------------------------------------------------------
Ran 164 tests in 9.185s

FAILED (failures=1, skipped=1)

Ответы [ 2 ]

1 голос
/ 05 ноября 2010

Хорошо, ответ в вашем следе:

self.assertEqual("http://example.com/users/john/", response._headers.get("location")[1])
AssertionError: 'http://example.com/users/john/' != '/users/john/'

измените первую строку в:

self.assertEqual("/users/john/", response._headers.get("location")[1])

, которая должна исправить тест.Но если его тестовый код вы не написали, то я думаю, что проблема в части example.com/.Пример.com, вероятно, исходит из настроек вашего сайта.Существует модель, называемая сайтами, если вы измените ее на правильный URL, это может сработать.

также

Вы можете попробовать использовать разные версии django.магистральная и стабильная версии ведут себя по-разному во время тестирования.

0 голосов
/ 21 февраля 2011

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

Они ожидают, что вы настроили сайт по умолчанию с помощью интерфейса администратора:

например, http://localhost:8000/admin/sites/ и иметь SITE_ID = 1

Убедитесь, что идентификатор сайта ссылается на действительную запись

http://localhost:8000/admin/sites/site/1/, где 1 - идентификатор вашего сайта.

-

Использование сайта не является обязательным, вы можете удалить: 'django.contrib.sites' из списка приложений.

...