【发布时间】:2017-02-01 10:06:40
【问题描述】:
我有一个异步处理程序,用"stream_body" decorator 包裹,用于接收大文件并以类似于this example 的方式读取它们。但是,我不明白,如何在 unittest 中测试此功能,因为这需要异步客户端。
【问题讨论】:
标签: python unit-testing tornado
我有一个异步处理程序,用"stream_body" decorator 包裹,用于接收大文件并以类似于this example 的方式读取它们。但是,我不明白,如何在 unittest 中测试此功能,因为这需要异步客户端。
【问题讨论】:
标签: python unit-testing tornado
您可以测试使用stream_request_body 的处理程序,而客户端中没有任何特殊功能。例如,this test in Tornado itself 使用普通请求测试 stream_request_body 处理程序(恰好使用 AsyncHTTPClient 发送,因为 AsyncHTTPTestCase 就是这样做的,但原则上可以使用另一个线程中的同步客户端完成)。
如果您想测试处理程序的流式传输属性,那么您可能需要更灵活的客户端。例如,AsyncHTTPClient 中的a test that uses body_producer 可以控制块的发送,而无需尽可能快地上传所有内容。
【讨论】: