我需要测试我的 Django 应用程序的照片模型.如何使用测试图像文件模拟 ImageField?
I need to test the Photo model of my Django application. How can I mock the ImageField with a test image file?
tests.py
class PhotoTestCase(TestCase):
def test_add_photo(self):
newPhoto = Photo()
newPhoto.image = # ??????
newPhoto.save()
self.assertEqual(Photo.objects.count(), 1)
对于未来的用户,我已经解决了问题.您可以模拟 ImageField代码> 带有 SimpleUploadedFile 实例.
For future users, I've solved the problem.
You can mock an ImageField with a SimpleUploadedFile instance.
test.py
from django.core.files.uploadedfile import SimpleUploadedFile
newPhoto.image = SimpleUploadedFile(name='test_image.jpg', content=open(image_path, 'rb').read(), content_type='image/jpeg')
这篇关于使用 ImageField 的 Django 测试模型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
在鼻子下测试 Python 代码时,我应该如何验证日志How should I verify a log message when testing Python code under nose?(在鼻子下测试 Python 代码时,我应该如何验证日志消息?)
修补函数的 __call__Patch __call__ of a function(修补函数的 __call__)
如何在 Python 中对象的模拟方法中调用 self?How to call self in a mock method of an object in Python?(如何在 Python 中对象的模拟方法中调用 self?)
仅模拟对象上的单个方法Mocking only a single method on an object(仅模拟对象上的单个方法)
在 Python 中模拟子进程调用Mocking a subprocess call in Python(在 Python 中模拟子进程调用)
检查多个模拟的调用顺序Checking call order across multiple mocks(检查多个模拟的调用顺序)