問題タブ [pytest-asyncio]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
121 参照

python-3.x - tornado_json 単体テスト非同期メソッド

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.