Tôi đã tạo người dùng cho các bài kiểm tra đơn vị của mình theo hai cách:
1) Tạo một vật cố định cho "auth.user" giống như sau:
{
"pk": 1,
"model": "auth.user",
"fields": {
"username": "homer",
"is_active": 1,
"password":
"sha1$72cd3$4935449e2cd7efb8b3723fb9958fe3bb100a30f2",
...
}
}
Tôi đã bỏ đi những phần dường như không quan trọng.
2) Sử dụng 'create_user' trong hàm setUp (mặc dù tôi muốn giữ mọi thứ trong lớp fixtures của mình):
def setUp(self):
User.objects.create_user('homer', 'ho...@simpson.net', 'simpson')
Lưu ý rằng mật khẩu là simpson trong cả hai trường hợp.
Tôi đã xác minh rằng thông tin này đang được tải chính xác vào cơ sở dữ liệu thử nghiệm hết lần này đến lần khác. Tôi có thể lấy đối tượng Người dùng bằng cách sử dụng User.objects.get. Tôi có thể xác minh mật khẩu là chính xác bằng cách sử dụng 'check_password.' Người dùng đang hoạt động.
Tuy nhiên, luôn luôn, self.client.login (username = 'homer', password = 'simpson') THẤT BẠI. Tôi bối rối không biết tại sao. Tôi nghĩ rằng tôi đã đọc mọi cuộc thảo luận trên Internet liên quan đến điều này. Ai có thể giúp đỡ?
Mã đăng nhập trong bài kiểm tra đơn vị của tôi trông giống như sau:
login = self.client.login(username='homer', password='simpson')
self.assertTrue(login)
Cảm ơn.