如何在不使用 AsyncTestCase 或 AsyncHTTPTestCase(因为它们已被弃用)的情况下测试 tornado.web.RequestHandler 的子类?

问题描述 投票:0回答:0

我有一个

tornado.web.RequestHandler
的子类,但是从 6.2 开始不推荐使用常见的测试用例。我发现的大多数资源(包括关于 StackOverflow 的许多问题)都使用了已弃用的类,我想避免使用这些类。

Tornado 的文档说使用

unittest.IsolatedAsyncToTestCase
代替,但没有太多关于如何实际执行的指示。此外——我想我想简单地实例化我的 RequestHandler 来直接测试它的方法。依赖于 TestCase 类,但我很难做到这一点。

所以除了标题中的问题,我还有几个额外的问题:

  1. tornado.web.RequestHandler
    通常需要一个
    Application
    和一个
    Request
    来实例化,但是当我提供它们时,我收到一个
    HTTPRequest' object has no attribute 'supports_http_1_1'
    错误。我的要求和申请都非常简单:

    application = tornado.web.Application([
        (r"/", tornado.web.RequestHandler)
    ])
    request = tornado.httpclient.HTTPRequest(method="POST", url="/", headers=None, body=None)
    

    我尝试实例化 w/

    tornado.web.RequestHandler(application, request)
    .

  2. 我如何使用

    unittest.IsolatedAsyncToTestCase
    ,为什么我需要?

python unit-testing tornado
© www.soinside.com 2019 - 2024. All rights reserved.