【发布时间】:2021-12-05 08:28:51
【问题描述】:
我正在尝试对我网站中的一项功能执行单元测试,用户上传一个 JSON 文件,然后我使用序列化和 JSON 模式测试 JSON 文件是否有效。运行以下测试代码时,我不断收到断言错误。
serializer.py
class Serializer(serializers.Serializer):
file = serializers.FileField(required=True)
format = serializers.CharField(required=True)
def validate(self, data):
is_valid, message = Validation().is_valid(
json.loads(data.read()))
if (not (is_valid)):
raise serializers.ValidationError(message)
tests.py
class Validation(TestCase):
def test_valid_serializer(self):
file_mock = mock.MagicMock(spec=File)
file_mock.name = 'mock.json'
file_mock.content = {
'mockData': [{
"id": 1,
"name": "blue",
}]
}
serializer_class = Serializer(data=file_mock.content)
assert serializer_class.is_valid()
assert serializer_class.errors == {}
【问题讨论】:
-
你能分享一下错误吗?不应该是
Serializer(data={'file': file_mock, 'format': 'json'})吗?
标签: python django serialization django-rest-framework django-unittest