def mock_coro_factory(return_value=None, side_effect=None):
"""Creates a mock coroutine with a given return value"""
@gen.coroutine
def coro(*args, **kwargs):
coro.called = True
coro.call_args = (args, kwargs)
yield gen.sleep(0.1)
if side_effect:
if isinstance(side_effect, Exception):
raise side_effect
else:
side_effect(*args, **kwargs)
return coro.return_value
coro.called = False
coro.call_args = ([], {})
coro.return_value = return_value
return coro
评论列表
文章目录