UploadedFile的参考文档。 @fixture的参考。 尝试在测试用例中更改文件大小。
from django.core.files.uploadedfile import UploadedFile
class Mixin(object):
@fixture
def photo(self):
file_obj = StringIO()
image = Image.new("RGBA", size=(50, 50), color=(256, 0, 0))
image.save(file_obj, "png")
file_obj.seek(0)
return UploadedFile(file_obj, name="test.png", content_type="image/jpg", size=2000000)
我尝试更改测试用例的文件大小
self.photo.size = 10000001
class Test(Mixin):
@fixture
def data(self):
return {"photo": self.photo}
def test_invalid_photo_size(self):
self.photo.size = 10000001
response = self.client.post(reverse("registration_register"), data=self.data)
但是当我以表格的形式获取照片的价值时,我得到的价值即144。
self.cleaned_data.get('photo').size
它应该已经以表格形式返回了10000001。我不清楚为什么会这样?除了从头开始创建新照片以外,任何其他方法。