2 回答

TA貢獻1836條經驗 獲得超5個贊
如果要檢查響應上下文中的內容,首先需要使用響應對象(而您不是,您只是在創建視圖的實例,而不是獲取視圖生成的響應)。我不知道,但我相信你會找到如何使我的答案適應你的用例。RequestFactory
所以,它會像這樣:
def test_your_context(self):
user = User.objects.get(pk=1)
self.client.force_login(user) # because of the login_required decorator
response = self.client.get(reverse("browse_clients"))
assert response.context['your_context_key'] == "Anything you want to check"
只需做幾件事就可以進一步說明:
你的方法的定義對我來說似乎沒問題,
get_context_data
如果您使用基于類的視圖,如果您要檢查用戶是否登錄,我會建議您也使用基本視圖(LoginRequiredMixin)
你給你的網址起了個名字,所以只是使用它,而不是寫它的原始形式(這就是我在答案中所做的)。

TA貢獻1848條經驗 獲得超10個贊
如果使用測試客戶端,它將負責運行中間件和初始化視圖。
當您直接使用和調用視圖時,URL 處理程序不會運行,因此由您來傳遞 kwargs。setup()
def test_return_client_ordered_by_inscription_date(self):
view = BrowseClients()
view.setup(self.request, order='inscription')
context = view.get_context_data()
添加回答
舉報