Django Unit Test Assertion Error для сериализации
Я пытаюсь выполнить модульное тестирование для функции на моем сайте, при котором пользователь загружает 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 == {}
Возможно, вам нужно SimpleUploadedFile
завернуть file_mock
?
from django.core.files.uploadedfile import SimpleUploadedFile