gpt4 book ai didi

django - Django Unit Test,用于测试文件下载

转载 作者:行者123 更新时间:2023-12-03 10:59:34 25 4
gpt4 key购买 nike

现在,我只是像这样检查链接的响应:

self.client = Client()
response = self.client.get(url)
self.assertEqual(response.status_code, 200)

有没有一种Django-ic的方法来测试链接,以查看是否确实发生了文件下载事件?在该主题上似乎找不到太多资源。

最佳答案

如果该URL旨在产生文件而不是“正常” http响应,则其content-type和/或content-disposition将有所不同。

响应对象基本上是一个字典,所以您可以这样

self.assertEquals(
response.get('Content-Disposition'),
"attachment; filename=mypic.jpg"
)

更多信息:
https://docs.djangoproject.com/en/dev/ref/request-response/#telling-the-browser-to-treat-the-response-as-a-file-attachment

UPD:
如果要读取附件的实际内容,可以使用response.content。压缩文件示例:
try:
f = io.BytesIO(response.content)
zipped_file = zipfile.ZipFile(f, 'r')

self.assertIsNone(zipped_file.testzip())
self.assertIn('my_file.txt', zipped_file.namelist())
finally:
zipped_file.close()
f.close()

关于django - Django Unit Test,用于测试文件下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8244220/

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