2012-11-11 90 views
0

我正在測試我的視圖並希望以某些權限模擬登錄的用戶。如何使用WebTest模擬具有特定權限的用戶

我知道,在Django的WebTest的,我可以在用戶登錄可模擬像這樣:

self.app.get(reverse('profile'), user='bob') 

可我也通過一組在此用戶?或權限列表? 如果我將創建在設置一個用戶,並指定一組給他,我可以模擬他登錄通過將自己的用戶名是這樣的:

self.app.get(reverse('profile'), user='user_with_certain_permissions') 

或者我需要登錄他的第一?

回答

0

是的,這應該工作。您也可以通過用戶實例而不是用戶名:

self.app.get(reverse("profile"), self.user_with_certain_permissions) 
+0

謝謝。讓我困惑的是,'bob'不是在setUp中創建的。沒有這樣的名字的用戶,並且仍然有效。它讓我想知道我是否可以用同樣的方式模擬用戶。 – Neara

+0

django-webtest文檔中的示例假定用戶來自fixtures(''fixtures = ['users','blog_posts''''))。 –

+0

嗯,就是這樣。在我的情況下,沒有用戶'bob',仍然有效。我運行了一個測試來獲得一個擁有login_required裝飾器的頁面,並且它工作正常。我跑了相同的測試,沒有用戶提供,實際上我被重定向到登錄頁面。我也知道我沒有任何其他用戶登錄,b.c這是一個自己的測試,所以拆卸被執行並且新的設置是按順序的。除非django-webtest加載自己的燈具...... – Neara

相關問題