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。

相关内容

热门资讯

透视新版!wepoker辅助工... 透视新版!wepoker辅助工具,智星德州插件2024最新版,2025新版总结(素来是有挂);小薇(...
透视有挂!wepoker辅助器... 透视有挂!wepoker辅助器是真的的吗,wepoker辅助器是真的吗,软件教程(从前是有挂);科技...
透视新版!德普之星辅助功能如何... 透视新版!德普之星辅助功能如何打开,wepoker手机版透视脚本,科技教程(本然是真的有挂);原来确...
透视app!wpk辅助购买,h... 透视app!wpk辅助购买,hhpoker哪个俱乐部靠谱,软件教程(一贯是有挂)wpk辅助购买平台为...
透视代打!wpk辅助购买,竞技... 透视代打!wpk辅助购买,竞技联盟透视插件,攻略教程(本来真的是有挂);支持多人共享记分板与复盘,通...
透视辅助!wepoker透视脚... 1、透视辅助!wepoker透视脚本苹果,hhpoker可以控制牌吗,透明教程(原本是有挂)。2、w...
透视软件!hhpoker透视脚... 透视软件!hhpoker透视脚本视频,wpk透视辅助方法,普及教程(起初是有挂);亲,其实确实真的有...
透视透视!德普之星app安卓版... 透视透视!德普之星app安卓版破解版,wepoker有没有插件,透牌教程(起初真的有挂);德普之星a...
透视透视!wepoker免费永... 透视透视!wepoker免费永久脚本,wepoker怎么破解游戏,科技教程(原生有挂);wepoke...
透视黑科技!aapoker辅助... 自定义aapoker辅助挂系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,...