django - 如果Django的trunk自带的单元测试失败怎么办?

标签 django

我在 Django 主干上工作,注意到主干中 Django 模块的单元测试总是失败。 Django trunk 应该通过它自己的所有单元测试吗?

以下是一些错误示例:

======================================================================
ERROR: test_password_change_fails_with_invalid_old_password (django.contrib.auth.tests.views.ChangePasswordTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/michael/django/trunk/django/contrib/auth/tests/views.py", line 156, in test_password_change_fails_with_invalid_old_password
    'new_password2': 'password1',
  File "/Users/michael/django/trunk/django/test/client.py", line 318, in post
    response = self.request(**r)
  File "/Users/michael/django/trunk/django/core/handlers/base.py", line 87, in get_response
    response = middleware_method(request, callback, callback_args, callback_kwargs)
  File "/Users/michael/Documents/workspace/drchrono/drchrono_middleware/drchrono.py", line 31, in process_view
    setattr(request, 'currentDoctor', request.user.get_profile().doctor) #Default is to have currentDoctor be default for logged in user.
  File "/Users/michael/django/trunk/django/contrib/auth/models.py", line 285, in get_profile
    self._profile_cache = model._default_manager.get(user__id__exact=self.id)
  File "/Users/michael/django/trunk/django/db/models/manager.py", line 119, in get
    return self.get_query_set().get(*args, **kwargs)
  File "/Users/michael/django/trunk/django/db/models/query.py", line 298, in get
    % self.model._meta.object_name)
DoesNotExist: UserProfile matching query does not exist.

我刚刚意识到很多错误都提到缺少 UserProfile,并且我有一个自定义 UserProfile 对象,是在通过 Web 注册过程创建新用户时创建的(但在实例化新 User 对象时不会创建该对象)在管理员中,或者我将通过代码进行假设。)所以这可能是我的应用程序的错误,因为没有为不是通过 GUI 创建的用户创建用户配置文件。如何为创建的每个用户对象创建一个用户配置文件?您是否对 User 类的 new() 方法进行了猴子补丁?

最佳答案

主干应该通过所有测试。如果您持续出现故障,则可能您的环境在某些方面不寻常。如果不同的测试在不同的时间失败,您可能只是观察到典型的主干困惑。

django-developers list对此类事情 react 非常灵敏。如果您专业地询问(例如,不是“伙计们,您的代码很糟糕!它甚至没有通过自己的测试!”),他们会帮助您找出问题所在。

关于django - 如果Django的trunk自带的单元测试失败怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1637561/

相关文章:

python - 回滚 post_save 接收器中的事务?

python - uwsgi 破管 - django, nginx

python - 如何在 Django REST 框架中返回自定义 JSON

python - 在/rest-auth/registration/account-confirm-email处配置不正确

jquery - 如何在单个 django View 中传递多个 ajax 调用

python - 如何使用 Django Rest Framework 使用序列化器验证动态 JSON?

python - 如何在调用 is_valid() 方法后更改表单字段值?

python - Django:搜索短语中单个单词的首字母?

django - 管理界面可编辑 Django 应用程序设置

python - 如何使用相同的键将Python字典替换为QueryDict