我正在为Django(1.5)应用程序的测试套件工作。我使用的是Django-Registrations软件包的0.8版,我得到了大量的测试错误,所有测试错误都以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或其他什么。
Here's the github repo for the project.
Here's a link to the tests for django-registrations
如果有人能帮我理解为什么会这样,那就太棒了。如果你想建议前进的道路,那将更加可怕。
谢谢,