Python 如何在Django、Django Rest框架中测试APIView

Python 如何在Django、Django Rest框架中测试APIView,python,django,django-rest-framework,Python,Django,Django Rest Framework,我正在用Django+Django Rest框架制作一个API。我正在尝试测试视图的GET方法: 视图: 在我的测试中,我为这些东西创建测试数据,然后利用DRF的APIClient运行该测试: def test_stuff_view_get_all(self): response = self.client.get('/api/stuff/') self.assertEqual(response.status_code, 200) self.ass

我正在用Django+Django Rest框架制作一个API。我正在尝试测试视图的
GET
方法:

视图:

在我的测试中,我为这些东西创建测试数据,然后利用DRF的APIClient运行该测试:

def test_stuff_view_get_all(self):
        response = self.client.get('/api/stuff/')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), len(Stuff.objects.all().order_by('-primaryKey') ))
这是可行的,但我不确定长度是比较这些东西的最佳方式。我想测试的另一件事是确保它是按主键正确排序的。我是否应该序列化查询集并将字典与
response.data
进行比较


有这样做的最佳实践吗?是否有一些我应该测试的地方遗漏了?

比较长度可以。对于订购,我只需从
数据中选择第一项,然后比较ID。
def test_stuff_view_get_all(self):
        response = self.client.get('/api/stuff/')
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.data), len(Stuff.objects.all().order_by('-primaryKey') ))