2 回答

TA貢獻(xiàn)1836條經(jīng)驗 獲得超5個贊
如果要檢查響應(yīng)上下文中的內(nèi)容,首先需要使用響應(yīng)對象(而您不是,您只是在創(chuàng)建視圖的實例,而不是獲取視圖生成的響應(yīng))。我不知道,但我相信你會找到如何使我的答案適應(yīng)你的用例。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"
只需做幾件事就可以進(jìn)一步說明:
你的方法的定義對我來說似乎沒問題,
get_context_data
如果您使用基于類的視圖,如果您要檢查用戶是否登錄,我會建議您也使用基本視圖(LoginRequiredMixin)
你給你的網(wǎng)址起了個名字,所以只是使用它,而不是寫它的原始形式(這就是我在答案中所做的)。

TA貢獻(xiàn)1848條經(jīng)驗 獲得超10個贊
如果使用測試客戶端,它將負(fù)責(zé)運行中間件和初始化視圖。
當(dāng)您直接使用和調(diào)用視圖時,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()
添加回答
舉報