Django REST TestCase: How to retrieve a response queryset that wasn't assigned to an attribute?
对于扩展通用
1 2 | class MyView(ListAPIView): queryset = MyModel.objects.all() |
如何在此视图的测试用例中检索查询集?
1 2 3 4 5 6 | def test_my_view(self): request = self.factory.get('my/url') # self.factory was set in the setUp method response = MyView.as_view()(request) self.assertEqual(response.status_code, 200) # I'd like to now test the query set, something like # self.assertQuerysetEqual(response.queryset, []) |
号
我发现,在分配给属性的查询集上,检索查询集的方法是:
1 | response.context['queryset_attribute_name'] |
但我希望我的视图像前端的一个简单的REST端点一样工作,而不向其添加属性名。
这似乎是一件很简单的事情,但我对姜戈不熟悉,只是不知道该怎么做,已经浪费了太多的时间来寻找它…
不要试图捕获用于响应的实际
对于django rest框架,
因此,如果您的
1 | self.assertEqual(0, len(response.data)) |
或
1 | self.assertEqual("[]", response.content) |
号