鼻子测试 - 文件上传

3 投票
1 回答
530 浏览
提问于 2025-04-15 20:40

如果想要测试一个Pylons控制器(使用Nose测试框架),这个控制器需要处理一个作为POST参数的文件上传,应该怎么做呢?

1 个回答

4

像这样:

class TestUploadController(TestController):
    // ....
    def test_upload_files(self):
        """ Check that upload of text file works. """

        files = [("Filedata", "filename.txt", "contents of the file")]
        res = self.app.post("/my/upload/path", upload_files = files)

上传文件通常需要用户登录,所以你可能还需要在调用 self.app.post() 时传递一个叫 "extra_environ" 的参数来绕过这个限制。

想了解 self.app.post() 接受哪些参数,可以查看 paste.fixture 的文档

撰写回答