如何使用WebOb构建文件上传POST HTTP请求?

3

我在编写Python Web应用程序测试时,使用Ian Bicking的WebOb非常有效。我调用webob.Request.blank('/path...'),然后使用生成的请求对象的get_response(app)方法来调用我的Web应用程序。返回的响应对象可以让我检查HTTP响应的状态码、内容类型、正文等等。构建POST请求也非常容易:

Request.blank('/path/under/test/', POST={'query': 'some text'})

但是现在我遇到了一个谜题:我需要测试我的Web应用程序中的一个视图,该视图期望上传文件,但我无法弄清楚WebOb如何表示该特定类型的POST。是否有人知道如何构建带有一个或多个文件上传字段的WebOb请求?

2个回答

5

几天前,您可以执行以下操作:

req = Request.blank('/path/under/test', 
                    POST={'query': 'some text', 'upload': ('filename', 'content')})

这是在这个提交中引入的,目前尚未发布。


一个完美但未发布的答案,将使操作变得比我想象中的更简单!这对我来说是一个新的情况:我是为了激励你发布而挂上大绿色勾号?还是接受答案并在这个项目上抱怨地运行WebOb? :) - Brandon Rhodes

1
你可以使用WebTest来实现,查看这里的TestApp.post参数 here

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接