现在我只是判断链接的响应,如下所示:
self.client = Client()
response = self.client.get(url)
self.assertEqual(response.status_code, 200)
有没有一种Django-ic的方法来测试链接以查看文件下载事件是否实际发生?在这个话题上似乎找不到太多的资源.
现在我只是判断链接的响应,如下所示:
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"
)
更新: 如果您想要读取附加文件的实际内容,可以使用response.content.zip文件的示例:
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()