gpt4 book ai didi

python - 如何编写从 zip 文件创建 InMemoryUploadedFile 的 python 测试?

转载 作者:太空宇宙 更新时间:2023-11-03 14:51:02 25 4
gpt4 key购买 nike

我的系统中有以下 Django 代码:

zip_file = zipfile.ZipFile(file, 'r')
for filename in zip_file.namelist():
try:
file_read = zip_file.read(filename)
print(filename)

我试图通过从 python TestCase 传入 zip 文件来测试此代码。当我在 Web 界面中使用此代码时,我注意到 zip 文件是 InMemoryUploadedFile 类型。因此,我尝试用我的 TestCase 模仿此功能,但似乎无法在我的测试中使用 zip 文件创建 InMemoryUploadedFile() 。

我已经尝试过这个:

file_name = 'file.zip'
in_memory_uploaded_file = InMemoryUploadedFile(file_name, None, file_name, 'application/zip', 0, None, None)

有什么建议吗?

最佳答案

根据source应使用 InMemoryUploadedFile(file, field_name, name, content_type, size, charset, [content_type_extra])

调用 InMemoryUploadedFile

因此,您应该传递所有这些参数:

with file as open('file.zip', 'r'):
InMemoryUploadedFile(file, relevant_field,'arquivo',
'application/zip', file_size, 'utf8')

对于文件大小,您可以使用固定数字进行测试,或者如果需要,请使用 https://stackoverflow.com/a/19079887/3930971 中的技术。

f.seek(0, os.SEEK_END)
size = f.tell()
f.seek(0, os.SEEK_SET)

关于python - 如何编写从 zip 文件创建 InMemoryUploadedFile 的 python 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45899873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com