#django #testing #signals #django-registration
#django #тестирование #сигналы #django-регистрация
Вопрос:
Я работаю над набором тестов для приложения Django (1.5). Я использую версию 0.8 пакета Django-Registrations, и я получал массу тестовых ошибок, все из которых заканчивались на IntegrityError: auth_user.first_name may not be NULL
. Казалось, что каждая из этих ошибок произошла в результате приемника сигналов, который я определил в account/models.py
:
@receiver(user_registered)
def user_registered_handler(sender, user, request, **kwargs):
user.first_name = request.POST.get('first_name')
user.last_name = request.POST.get('last_name')
profile = user.get_profile()
profile.about = request.POST.get('about')
profile.address = request.POST.get('address')
... etc.
user.save()
profile.save()
Просто чтобы посмотреть, я прокомментировал это и снова запустил тесты. Это устранило все эти ошибки, но теперь я получаю 5 сбоев, все жалуются на длину mail.outbox, равную 0, вместо 1 или 2 или чего-то еще.
Вот репозиторий github для проекта.
Вот ссылка на тесты для django-регистраций
Если кто-нибудь может помочь мне понять, почему это происходит, это было бы потрясающе. Если вы хотите предложить путь вперед, это было бы еще более потрясающе.
Спасибо,