代码之家  ›  专栏  ›  技术社区  ›  Phillip B Oldham

测试时有没有办法设置wsgi.input的值?

  •  1
  • Phillip B Oldham  · 技术社区  · 14 年前

    wsgiref.util.setup_testing_defaults() 设置WSGI environ 是否可以设置 wsgi.input

    调查 wsgi.input文件 setup_testing_defaults() 表明这是一个 wsgi.validate.InputWrapper 对象 read , readline , readlines , input , close ,和 __iter__ 方法,但不是 方法。

    编辑:
    我正在研究python2.6.1

    1 回复  |  直到 14 年前
        1
  •  3
  •   Andrey Vlasovskikh    14 年前

    根据WSGI规范 wsgi.input 只是一个类似文件的对象。所以即使你的助手库给 environ['wsgi.input'] ,可以用任何类似文件的对象替换它。特别是 StringIO 对象:

    e = {}
    setup_testing_defaults(e)
    s = urlencode({'q': 'is there a way to set the value of wsgi input'})
    e['wsgi.input'] = StringIO(s)