【发布时间】:2019-05-26 22:32:05
【问题描述】:
我有以下序列化程序:
from rest_framework.serializers import Serializer, ImageField
class MySerializer(Serializer):
avatar = ImageField()
如何为它编写单元测试? 我使用了 Django TestCase,但它引发了错误。
from django.test import TestCase
class MySerializerTest(TestCase):
def setUp(self):
self.data = {}
...
def test_image(self):
import tempfile
self.data['avatar'] = tempfile.NamedTemporaryFile(suffix=".jpg").file
r_data = json.dumps(self.data)
j_data = json.loads(r_data)
serializer = MySerializer(data=j_data)
if not serializer.is_valid():
import pprint
pprint.pprint(serializer.errors)
self.assertEqual(serializer.is_valid(), True)
但它会引发以下错误:
TypeError:“BufferedRandom”类型的对象不是 JSON 可序列化的
我的错误是什么?如何为图像字段编写测试?
【问题讨论】:
标签: django django-rest-framework django-tests django-unittest