在Django中,当我运行“manage.py test”时,我收到了很多与身份验证相关的失败。一些例子:
FAIL: test_password_change_succeeds -- AssertionError 200 != 302
FAIL: Logout without next_page option renders the default template -- AssertionError 200 != 302
和
Failed example:
form.non_field_errors()
Expected:
[u'This account is inactive.']
Got:
[u'Please enter correct username and password....']
我已经配置了settings.py,以便Django接受来自Apache2的身份验证。在设置中,MIDDLEWARE_CLASSES
包括“AuthenticationMiddleware”和“RemoteUserMiddleware”,AUTHENTICATION_BACKENDS
包含“RemoteUserBackend”。
我如何在这里找出问题?
更新2 我通过注释掉AUTHENTICATION_BACKENDS的设置来清除测试错误。现在我必须考虑我在测试环境中需要的身份验证状态,但至少我已经解决了这个问题。
第一次更新引用了我之后删除的问题。
答案 0 :(得分:0)
如果您的身份验证仅适用于Apache,我不希望它在测试中起作用 - 测试运行器不使用Apache。您需要在普通数据库身份验证框架中设置虚拟帐户。
答案 1 :(得分:0)
如上所述,注释掉AUTHENTICATION_BACKENDS的设置会使测试错误消失。