我正在使用 Django 单元测试来尝试测试文件下载。它作为一个 API 调用工作,需要一个令牌作为 GET 参数,但没什么特别的。代码是:
from django.test.client import Client
c = Client()
base_url = str(sample_download_resource_uri) + '?token=' + str(account_token)
response = c.get(base_url)
if response.status_code != 200:
return False, "Status code for /download_attachment/XYZ/ is not 200"
URL 类似于:/download_attachment/1/
或/download_attachment/2/
取决于文件 ID。
当我尝试运行单元测试时,在该行中:
if response.status_code != 200:
我得到错误:I/O exception on closed file.
我在浏览器中尝试调用中的 URL,它运行良好。
我没有通过 tests.py 文件和测试命令运行单元测试,而是使用 Django 视图远程对 Web 服务器进行单元测试。但这不应该有所作为,因为所有其他非下载单元测试都适用于 GET 和 POST 命令。