2017-02-01 9 views
0

私は"stream_body" decoratorでラップされた非同期ハンドラを持っています。これは大きなファイルを受け取り、それを徐々にthis exampleに似ています。しかし、私は理解していない、どのように非同期クライアントが必要なので、unittestでこの機能をテストすることができます。stream_bodyデコレータでラップされたtorandoハンドラのテストを書くにはどうすればいいですか?

答えて

1

stream_request_bodyを使用するハンドラは、クライアントで特別な機能をテストすることなくテストできます。たとえば、this test in Tornado itselfは、通常のリクエスト(これはAsyncHTTPClientで送信されますが、これはAsyncHTTPTestCaseの処理方法であるが、原則として別のスレッドの同期クライアントで行うことができます)を使用してstream_request_bodyハンドラをテストします。

ハンドラのストリーミングプロパティをテストする場合は、より柔軟なクライアントが必要な場合があります。たとえば、a test that uses body_producerAsyncHTTPClientに設定すると、できるだけ早くすべてをアップロードせずにチャンクの送信を制御できます。

関連する問題