You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何测试使用requests包的Python代码(含大文件下载场景)

如何测试使用requests包的Python代码(含大文件下载场景)

嘿,太懂你这种大文件下载测试慢到磨人的痛苦了!给你俩简单易行的方案,不用折腾太多,就能快速搭建本地测试服务返回假的小文件:

方案一:用Python自带的http.server(零额外依赖,快速上手)

这是最省事的临时方案,不用装任何新包:

  • 先在本地随便建个小测试文件,比如test_sample.txt,写几行内容就行
  • 打开终端,切换到这个文件所在的目录,跑命令:
    python -m http.server 8000
    
  • 把你代码里的URL改成本地服务的地址:
    url = 'http://localhost:8000/test_sample.txt'
    response = requests.get(url, allow_redirects=True)
    
    这下requests会直接下载本地的小文件,秒完成测试,再也不用等20分钟啦!

方案二:用Flask搭建自定义测试服务(灵活可控)

如果需要模拟更复杂的场景(比如返回特定响应码、动态生成文件内容),Flask就很合适:

  • 先装Flask:
    pip install flask
    
  • 写个简单的测试服务脚本test_server.py:
    from flask import Flask, send_file
    
    app = Flask(__name__)
    
    @app.route('/test_endpoint')
    def fake_large_file():
        # 方式1:返回本地的小测试文件(和方案一类似,但路径更灵活)
        return send_file('test_sample.txt', as_attachment=True)
        # 方式2:直接动态生成内容,连测试文件都不用建
        # return "模拟大文件的测试内容\n随便写几行就行", 200
    
    if __name__ == '__main__':
        app.run(port=8000, debug=True)
    
  • 运行这个脚本,然后把代码里的URL改成http://localhost:8000/test_endpoint,就能拿到你自定义的假文件响应了。

要是你用自动化测试框架(比如pytest),还能把启动服务的步骤写成fixture,让测试自动启停服务,不过上面俩基础方案已经足够解决你的核心问题啦~

备注:内容来源于stack exchange,提问作者user2138149

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 13:28:01