我正在尝试对序列化程序进行单元测试,但是当我执行 serializers.is_valid() 时,我在获取预期的错误消息时遇到了问题。
代码:
序列化程序.py
class RandomSerializer(serializers.Serializer):
sno = serializers.IntegerField(required=True)
description = serializers.CharField(required=True)
def __init__(self, *args, **kwargs):
super(RandomSerializer, self).__init__(*args, **kwargs)
....
test_serializer.py
def test_random_serializer():
val_dict = {'sno': 1, 'description':'test'}
serializer = RandomSerializer(val_dict)
此时,当我检查 serializer.is_valid() 时,结果为 False,当我检查 serializer.errors 时出现以下错误
{u'non_field_errors': [u'No input provided']}
我怎样才能解决这个问题?有什么想法吗?
提前致谢
PS:我也尝试了 serializer = RandomSerializer(data=val_dict) 但这甚至没有将值填充到 serializers.data