【发布时间】:2019-05-31 19:37:35
【问题描述】:
我想在 django rest 框架中为我的项目编写单元测试,但我无法将我的 res.data 与我的 serializer.data 进行比较 这是我的一个对象品牌的 json:
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"url": "http://localhost:8000/shops/tags/1/",
"id": 1,
"name": "PS4",
"link": "https://www.playstation.com"
}
]
}
这是我的单元测试:
BRANDS_URL = reverse('brands-list')
def test_retrieve_brand_list(self):
"""Test retrieving a list of brands"""
Brand.objects.create(name='Bestbuy', link='https://bestbuy.ca')
Brand.objects.create(name='Amazon', link='https://amazon.ca')
res = self.client.get(BRANDS_URL)
brands = Brand.objects.all().order_by('-name')
context = {'request': RequestFactory().get('/')}
serializer = BrandsSerializer(brands, context=context, many=True)
self.assertEqual(res.status_code, status.HTTP_200_OK)
self.assertEqual(res.data, serializer.data)
我的序列化器:
class BrandsSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Brand
fields = ('url', 'id', 'name', 'link')
如何将计数、下一个、上一个和结果添加到我的 serializer.data ? 我怎样才能拥有像 res.data 这样的 serializer.data ? 我有点迷茫,我找不到解决办法
【问题讨论】:
标签: python django django-rest-framework