self.client.login Django (…) не работает в модульных тестах

Я создал пользователей для своих модульных тестов двумя способами:

1) Создайте приспособление для "auth.user", который примерно походит на это:

    { 
        "pk": 1, 
        "model": "auth.user", 
        "fields": { 
            "username": "homer", 
            "is_active": 1, 
            "password": 
"sha1$72cd3$4935449e2cd7efb8b3723fb9958fe3bb100a30f2", 
            ... 
        } 
    }

Я не учел на вид неважные части.

2) Используйте 'create_user' в функции установки (хотя я сохранил бы все в своем классе приспособлений):

def setUp(self): 
       User.objects.create_user('homer', 'ho...@simpson.net', 'simpson') 

Обратите внимание, что пароль является simpson в обоих случаях.

Я проверил, что эта информация правильно загружается в тестовую базу данных снова и снова. Я могу захватить Пользовательский объект с помощью User.objects.get. Я могу проверить, что пароль является корректным использованием 'check_password'. Пользователь активен.

Все же, неизменно, self.client.login (имя пользователя ='homer', пароль ='simpson') СБОИ. Я экранирован относительно почему. Я думаю, что считал каждое интернет-обсуждение, имеющее отношение к этому. Кто-либо может помочь?

Код для входа в моем модульном тесте похож на это:

    login = self.client.login(username='homer', password='simpson') 
    self.assertTrue(login) 

Спасибо.

69
задан thebossman 11 April 2010 в 23:17
поделиться