Я пишу несколько тестов для моего проекта Django, и я пытаюсь проверить функции входа и функции, которые будут в декораторе «user_passes_test», в этом конкретном тесте функция, называемая "is_teacher". К сожалению, я не совсем уверен, как получить объект-пользователь от ответа. Я пробовал следующее, но я получаю сообщение об ошибке, что объект «dict» не имеет атрибута «пользователь».Тестирование функций, касающихся объекта пользователя с Django
user = User.objects.create_user(
first_name='Elmar',
last_name='Fudd',
username='ef123',
email='[email protected]',
password='rabbitseason'
)
self.client.login(
username='elmar', password='rabbitseason')
response = self.client.get('/')
request = response.request
self.assertTrue(is_teacher(request.user))
Как я могу получить зарегистрированного пользователя из ответа?
Что вы использовали для создания вашего пользователя? вы уверены, что имеете его запись в своей базе данных? Вы использовали светильники? или что? – Lara
Добавили часть, в которой я создаю пользователя для части, указанной выше. Спасибо, что посмотрели! – Tobi
Предполагая, что вы используете пользовательскую модель Django по умолчанию, вы должны установить пароль при создании пользователя, потому что он зашифрован. Взгляните на эту ссылку ... https://docs.djangoproject.com/en/1.7/topics/testing/tools/#django.test.Client.login – Lara