두 가지 방법으로 단위 테스트 용 사용자를 만들었습니다.
1) 대략 다음과 같은 "auth.user"에 대한 고정물을 만듭니다.
{
"pk": 1,
"model": "auth.user",
"fields": {
"username": "homer",
"is_active": 1,
"password":
"sha1$72cd3$4935449e2cd7efb8b3723fb9958fe3bb100a30f2",
...
}
}
겉보기에는 중요하지 않은 부분은 생략했습니다.
2) setUp 함수에서 'create_user'를 사용합니다 (비록 모든 것을 조명기 클래스에 보관하고 싶지만) :
def setUp(self):
User.objects.create_user('homer', 'ho...@simpson.net', 'simpson')
두 경우 모두 암호는 심슨입니다.
이 정보가 테스트 데이터베이스에 몇 번이고 올바르게로드되고 있는지 확인했습니다. User.objects.get을 사용하여 User 개체를 가져올 수 있습니다. 'check_password'를 사용하여 비밀번호가 맞는지 확인할 수 있습니다. 사용자가 활성 상태입니다.
그러나 항상 self.client.login (username = 'homer', password = 'simpson') 실패합니다. 왜 그런지 당황합니다. 나는 이것과 관련된 모든 인터넷 토론을 읽었다 고 생각합니다. 아무도 도울 수 있습니까?
내 단위 테스트의 로그인 코드는 다음과 같습니다.
login = self.client.login(username='homer', password='simpson')
self.assertTrue(login)
감사.