0

tornado_json Web アプリの単体テストを設定しようとしています。ポストハンドラーをテストしようとしていますが、fetchメソッドが _asyncio.Future オブジェクトを返すように見えるため、惨めに失敗しています。これは決して完了/結果セットを持たないようです。コードの要約を投稿しようとしましたが、現時点では ['test'] アイテムを返しています。https://github.com/tornadoweb/tornado/issues/1154と竜巻のドキュメントを見てきました。タスクを完了するには self.stop または self.wait() が必要なようですが、これを機能させる方法、またはそれが解決策であるかどうかはわかりません。どんな助けでも大歓迎です。

@schema.validate( input_schema={ "type": "object", "properties": { "path": {"type": "string"} }, "required": ["path"] }, output_schema={ "type": "array", "items": { "properties": {"type": "string"} } } ) @coroutine def post(self): attributes = dict(self.body) path = attributes["path"] response = ["test"] return response

@gen_test def test_POST_method(self):
body = json.dumps({'path': 'bin'}) self.http_client.fetch(self.get_url('/api/listmyfiles'), method="POST", body=body ) response = self.wait() print(response.result()))

私が得るエラーは次のとおりです。 asyncio.base_futures.InvalidStateError: Result is not set.

4

1 に答える 1