【发布时间】:2011-08-09 03:08:54
【问题描述】:
我有一个 Python 版本的 Google App Engine 应用程序,可让用户上传文件。提交文件后,我使用
获取文件self.request.get('uploaded_file')
我使用
获取文件名self.request.POST['uploaded_file'].filename
我正在尝试通过手动创建一个 webapp 请求来为它编写一个单元测试,文件设置为我想要的方式。但是,我不知道如何初始化它,以便我可以获取上传的文件及其文件名。
有什么想法吗?
【问题讨论】:
-
我不确定是否可以测试 blobstore 功能。当您生成要上传到它的链接时,假定完成后有服务器在端口上侦听以在完成上传时调用处理程序。如果你没有运行 devappserver,你就不会得到它。
-
应用程序不使用 blobstore 或实际提供文件——它只是让用户上传文件来验证它。它使用标准的 HTTP POST,将其放入请求对象中,以便处理程序使用我实现的 post() 方法进行响应。
-
我不知道您可以这样做,我认为 appengine 不允许带有文件的表单帖子路由到您的应用程序,因为它会无限期地占用一个实例。我想情况并非如此。
标签: python unit-testing google-app-engine file-upload