Я пытаюсь обновить довольно большой проект Django до недавно выпущенного Django 1.4, и у меня возникают некоторые проблемы при запуске python manage.py test
.
Многие внутренние тесты, прошедшие в Django 1.3, теперь терпят неудачу, причем действительно нечетные сообщения, которые я не могу исправить. Наиболее показательным является:
NoReverseMatch: u'admin' is not a registered namespace
Это вызвано для тестов django.contrib.auth
для изменения пароля, в частности (один из которых - test_password_change_fails_with_mismatched_passwords (django.contrib.auth.tests.views.ChangePasswordTest)
. Странно, что пространство имен зарегистрировано правильно, а приложение отлично работает. Я импортирую администратора в "новый" способ:
url(r'^admin/', include(admin.site.urls)),
Когда я говорю об этой ошибке в частности, все, что я могу найти, это люди, импортирующие URL-адреса администратора с использованием старой схемы и ничего не относящиеся к этой проблеме вообще.
Я попытался удалить приложения из INSTALLED_APPS
один за другим, но тесты auth просто не пройдут. Кроме того, когда я загружаю интерпретатор Python из python manage.py shell
и выполняю reverse('admin:index')
, URL-адрес разрешается до /admin/
без ошибок. Я внимательно прочитал код и не вижу, где это может упасть.
Как я упоминал ранее, это не единственная ошибка, которая возникает. Я также получаю AttributeError: AUTH_PROFILE_MODULE
из теста test_site_profile_not_available (django.contrib.auth.tests.models.ProfileTestCase)
, хотя AUTH_PROFILE_MODULE
определен в моем файле settings.py
. Как могут тесты собственного Django быть неудачными?