Python 如何在Django、Django Rest框架中测试APIView
我正在用Django+Django Rest框架制作一个API。我正在尝试测试视图的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
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') ))