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()
添加回答
举报