У меня есть обработчик async, завернутый в "stream_body" decorator, который используется для получения больших файлов и чтения их пошагового схожего с this example. Тем не менее, я не понимаю, как я могу проверить эту функциональность в unittest, так как для этого требуется асинхронный клиент.Как написать тесты для обработчика torando, завернутого в декодер stream_body?
0
A
ответ
1
Вы можете протестировать обработчик, который использует stream_request_body
без каких-либо специальных функций на клиенте. Например, this test in Tornado itself проверяет обработчик stream_request_body
с обычным запросом (который, случается, отправляется с AsyncHTTPClient, потому что это то, как AsyncHTTPTestCase делает что-то, но в принципе это можно сделать с синхронным клиентом в другом потоке).
Если вы хотите протестировать потоковые свойства обработчика, вам может понадобиться более гибкий клиент. Например, a test that uses body_producer
в AsyncHTTPClient
может управлять отправкой кусков, не загружая все как можно быстрее.