我通过两种方式为我的单元测试创建了用户:
1)为“auth.user”创建一个大致如下所示的夹具:
{
"pk": 1,
"model": "auth.user",
"fields": {
"username": "homer",
"is_active": 1,
"password":
"sha1$72cd3$4935449e2cd7efb8b3723fb9958fe3bb100a30f2",
...
}
}
我省略了看似不重要的部分。
2)在setUp函数中使用'create_user'(尽管我宁愿将所有东西都保留在我的fixtures类中):
def setUp(self):
User.objects.create_user('homer', 'ho...@simpson.net', 'simpson')
请注意,两种情况下的密码都是 simpson。
我已经验证此信息一次又一次地正确加载到测试数据库中。我可以使用 User.objects.get 获取用户对象。我可以使用“check_password”验证密码是否正确。用户处于活动状态。
然而,self.client.login(username='homer', password='simpson') 总是失败。我很困惑为什么。我想我已经阅读了与此相关的每一个 Internet 讨论。有人可以帮忙吗?
我的单元测试中的登录代码如下所示:
login = self.client.login(username='homer', password='simpson')
self.assertTrue(login)
谢谢。