Как сделать модульный тест с `asyncio.sleep ()` содержал код?Python

Программы на Python
Anonymous
Как сделать модульный тест с `asyncio.sleep ()` содержал код?

Сообщение Anonymous »

У меня есть проблема, чтобы написать Asyncio.sleep содержал модульные тесты. Я жду фактического времени сна ...? < /P>

Я использовал Freezegun < /code> для насмешки.
Эта библиотека действительно полезна, когда я пытаюсь запустить Тесты с обычными вызовы. Но я не могу найти ответ на запуск тестов, которые содержит asyncio.sleep!async def too_many_sleep(delay):
await asyncio.sleep(delay)
do_something()

def test_code():
task = event_loop.create_task(too_many_sleep(10000))
# I want test like `assert_called(do_something)` without realtime delays
< /code>

Что я хочу: < /p>

def test_code():
task = event_loop.create_task(too_many_sleep(10000))

...
# trick the time
with time_shift(sec=10000):
assert task.done()
< /code>

Что я делаю: < /p>

def test_code():
task = event_loop.create_task(too_many_sleep(10000))
# run tests and I will see a sunrise


Подробнее здесь: https://stackoverflow.com/questions/577 ... ained-code

Вернуться в «Python»