微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

django rest 框架中的单元测试错误

如何解决django rest 框架中的单元测试错误

我在运行单元测试时遇到以下错误,但从邮递员发帖时它工作正常。

{'users': [ErrorDetail(string='This field is required.',code='required')]}

我的serializer.py:

class UserSerializer(serializers.Serializer):
    first_name = serializers.CharField(max_length=60,allow_blank=False)
    last_name = serializers.CharField(max_length=60,allow_blank=False)
    email = serializers.EmailField(max_length=100,allow_blank=False)


class CompanySerializer(serializers.Serializer):
    users = UserSerializer(many=True,write_only=True)

    class Meta:
        model = Company
        fields = '__all__'
        extra_kwargs = {
            'tech_tags': {'required': False}
        }

这是我的单元测试。序列化程序中不需要 tech_tags,但它在测试期间显示 tech_tags required 错误。即使用户数据在请求有效负载中发送,用户数据也显示必需错误

def test_create_company(self):
        request_data =  {
            "name": "Test Company","users": [
                {
                    "first_name": "Test Name.","last_name": "Test Name.","email": "email",}
            ]
        }
        request = self.factory.post('/api/company',request_data)
        view = CompanyViewSet.as_view({'post':'create'})
        force_authenticate(request,user=self.admin_user)
        response = view(request)
        self.assertEqual(response.status_code,201)

这里即使用户以有效载荷发送但显示错误

{'users': [ErrorDetail(string='This field is required.',code='required')]}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。