Я пытаюсь настроить модульный тест для веб-приложения tornado_json.
Я пытаюсь протестировать обработчик поста, но у меня ничего не получается, поскольку метод 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):<br>
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.