Я создал пользователей для своих модульных тестов двумя способами:
1) Создайте фикстуру для "auth.user", которая выглядит примерно так:
{
"pk": 1,
"model": "auth.user",
"fields": {
"username": "homer",
"is_active": 1,
"password":
"sha1$72cd3$4935449e2cd7efb8b3723fb9958fe3bb100a30f2",
...
}
}
Я не учел, казалось бы, неважные части.
2) Используйте create_user в функции setUp (хотя я бы предпочел сохранить все в своем классе фикстур):
def setUp(self):
User.objects.create_user('homer', 'ho...@simpson.net', 'simpson')
Обратите внимание, что в обоих случаях используется пароль Simpson.
Я проверял, что эта информация снова и снова правильно загружается в тестовую базу данных. Я могу получить объект User с помощью User.objects.get. Я могу проверить правильный пароль, используя "check_password". Пользователь активен.
Тем не менее, self.client.login (username = 'homer', password = 'simpson') неизменно НЕ ИСПОЛЬЗУЕТСЯ. Я не понимаю, почему. Я думаю, что прочитал все обсуждения в Интернете по этому поводу. Кто-нибудь может помочь?
Код входа в мой модульный тест выглядит так:
login = self.client.login(username='homer', password='simpson')
self.assertTrue(login)
Благодарю.