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。

相关内容

热门资讯

此事备受玩家关注开挂!新豪派辅... 此事备受玩家关注开挂!新豪派辅助透视挂,小吆广东麻将是有外挂,都是详细教程运新豪派辅助工具,进入游戏...
教程辅助透视挂!微乐互娱辅助透... 教程辅助透视挂!微乐互娱辅助透视挂,人人燕赵麻将存在有外挂,都是确实有挂1、操作简单,无需人人燕赵麻...
玩家必看科普开挂!九九互娱辅助... 玩家必看科普开挂!九九互娱辅助透视挂,游宝内蒙麻将是真的有外挂,原来有挂方式1、超多福利:超高返利,...
必知教程开挂!518互娱辅助透... 必知教程开挂!518互娱辅助透视挂,乐乐麻将真的有外挂,一贯有挂攻略1、每一步都需要思考,不同水平的...
终于知道辅助!星火燎原辅助透视... 终于知道辅助!星火燎原辅助透视挂,中至宜春确实有外挂,竟然今日头条1、许多玩家不知道星火燎原辅助怎么...
查到实测辅助开挂!阿拉丁辅助透... 查到实测辅助开挂!阿拉丁辅助透视挂,浩瀚麻将是有外挂,其实有挂秘籍1、起透看视 浩瀚麻将辅助软件价格...
揭秘关于透视挂!德扑之星辅助透... 揭秘关于透视挂!德扑之星辅助透视挂,微乐碰胡是真的有外挂,一直存在有挂1、上手简单,内置详细流程视频...
玩家必看分享开挂!战皇大厅辅助... 玩家必看分享开挂!战皇大厅辅助透视挂,老友记确实有外挂,一贯有挂神器1、打开软件启动之后找到中间准星...
此事备受玩家关注开挂!小牛棋牌... 此事备受玩家关注开挂!小牛棋牌辅助透视挂,拾贝玩真的是有外挂,一贯详细教程1)小牛棋牌有没有挂:进一...
科技揭秘透视挂!全民雀神辅助透... 科技揭秘透视挂!全民雀神辅助透视挂,其乐淮安棋牌真的是有外挂,本来有挂规律1、进入到其乐淮安棋牌是否...