如何为用 stream_body 装饰器包裹的 torando 处理程序编写测试?
How do I write tests for torando handler wrapped with stream_body decorator?
我有一个用 "stream_body" decorator, which is used for receiving big files and reading them incrementally similar to this example 包装的异步处理程序。但是,我不明白,我该如何在单元测试中测试这个功能,因为这需要一个异步客户端。
您可以测试使用 stream_request_body
且客户端中没有任何特殊功能的处理程序。例如,this test in Tornado itself 使用普通请求测试 stream_request_body
处理程序(它恰好与 AsyncHTTPClient 一起发送,因为 AsyncHTTPTestCase 就是这样做的,但原则上可以在另一个线程中使用同步客户端来完成).
如果你想测试处理程序的流属性,那么你可能需要一个更灵活的客户端。例如,AsyncHTTPClient
中的a test that uses body_producer
可以控制chunk的发送,而不是尽可能快地上传所有内容。
我有一个用 "stream_body" decorator, which is used for receiving big files and reading them incrementally similar to this example 包装的异步处理程序。但是,我不明白,我该如何在单元测试中测试这个功能,因为这需要一个异步客户端。
您可以测试使用 stream_request_body
且客户端中没有任何特殊功能的处理程序。例如,this test in Tornado itself 使用普通请求测试 stream_request_body
处理程序(它恰好与 AsyncHTTPClient 一起发送,因为 AsyncHTTPTestCase 就是这样做的,但原则上可以在另一个线程中使用同步客户端来完成).
如果你想测试处理程序的流属性,那么你可能需要一个更灵活的客户端。例如,AsyncHTTPClient
中的a test that uses body_producer
可以控制chunk的发送,而不是尽可能快地上传所有内容。