0
我正在爲我的Django項目編寫一些測試,並且我正在嘗試測試登錄函數和將在「user_passes_test」裝飾器中的函數,在此特定測試中調用一個函數「is_teacher」。不幸的是,我不太清楚如何從響應中獲取用戶對象。我所嘗試的是以下內容,但我只會得到「'dict'對象沒有屬性'user'」的錯誤。使用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 2014-09-01 10:04:12
已將我創建用戶的部分添加到上面的部分。感謝您的關注! – Tobi 2014-09-01 10:08:40
假設您使用默認的Django用戶模型,您必須在創建用戶時設置密碼,因爲它是加密的。看看這個鏈接... https://docs.djangoproject.com/en/1.7/topics/testing/tools/#django.test.Client.login – Lara 2014-09-01 10:11:19