【发布时间】:2015-08-31 04:42:54
【问题描述】:
尝试编写一个单元测试来检查用户是否输入了正确的密码。
为此使用 Django 的原生身份验证函数 user.check_password。
问题是 check_password 出于某种原因不接受 user 对象自己的密码。例如,这会引发错误:
assert user.check_password(user.password), "Password doesn't match"
user.password 返回 MD5 unicode 字符串。
有谁知道这为什么不通过检查以及如何通过检查?
【问题讨论】:
-
我想你基本上已经回答了你自己的问题。
check_password采用原始密码而不是已经散列的密码。对于单元测试,您必须插入您的 testuser 的未哈希密码。 -
看起来像这样。在这个单元测试中为我工作。
标签: python django passwords python-unittest