AssertionErroronUnittestsafterconvertingaDRFSerializertoaDRFModelSerializer
创始人
2024-09-20 15:30:59
0

在将 DRF Serializer 转换为 DRF ModelSerializer 后,在单元测试中出现 AssertionError 的问题

在单元测试中,需要更新数据的创建方式。由于 ModelSerializer 需要通过传入 Model 实例来创建数据,因此在单元测试中也需要通过创建 Model 实例来创建数据。同时,需要更新序列化器的使用方式,使用序列化器的 data 属性来获取序列化后的数据。

示例代码:

from django.test import TestCase
from myapp.models import MyModel
from myapp.serializers import MyModelSerializer


class MyModelSerializerTest(TestCase):

    def setUp(self):
        self.data = {'name': 'test'}
        self.model = MyModel.objects.create(name=self.data['name'])
        self.serializer = MyModelSerializer(instance=self.model)

    def test_data(self):
        expected_data = {'id': self.model.id, 'name': self.data['name']}
        self.assertEqual(self.serializer.data, expected_data)

在上述示例代码中,setUp 方法中创建了一个 Model 实例并使用其作为 ModelSerializer 的 instance 参数传入序列化器中。在 test_data 方法中,使用序列化器的 data 属性获取序列化后的数据,并与预期结果进行比较。如果数据输出不符合预期,则会抛出 AssertionError。

相关内容

热门资讯

透视资料!uupoker透视(... 透视资料!uupoker透视(WePoKer私人)总是有辅助方法(哔哩哔哩)uupoker透视是不是...
透视机巧!xpoker怎么作必... 透视机巧!xpoker怎么作必弊(WePoKer游戏)果然真的有辅助插件(哔哩哔哩)1、完成xpok...
透视阶段!wepoker提高好... 透视阶段!wepoker提高好牌率(WPK安装)其实是真的有辅助方法(哔哩哔哩)1、不需要AI权限,...
透视攻略!wepoker有用吗... 透视攻略!wepoker有用吗(WPK安装)一直真的是有辅助软件(哔哩哔哩)小薇(辅助器软件下载)致...
透视法子!wepoker手机版... 透视法子!wepoker手机版辅助(WPK德州局)一贯真的是有辅助app(哔哩哔哩)1)wepoke...
透视阶段!wepoker私人局... 透视阶段!wepoker私人局透视(德普之星介绍)好像真的是有辅助技巧(哔哩哔哩)1、下载好wepo...
透视要领!德普之星辅助器怎么用... 透视要领!德普之星辅助器怎么用(WePoKer黑科技)确实真的是有辅助软件(哔哩哔哩)1、全新机制【...
透视窍要!hardrock透视... 您好,hardrock透视工具这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302...
透视绝活!hhpoker德州透... 透视绝活!hhpoker德州透视挂(AApoker插件)确实是有辅助插件(哔哩哔哩)1、起透看视 h...
透视指南书!hhpoker买挂... 透视指南书!hhpoker买挂(WePoKer助手)一贯是有辅助神器(哔哩哔哩)1、hhpoker买...