在测试的异步函数中调用模拟异步方法

时间:2019-09-21 20:43:41

标签: python-3.x mocking pytest python-asyncio magicmock

代码示例如下:

@pytest.mark.asyncio
async def test_a(my_obj,b, mocker): 
    await my_obj.a()
    res = 'some_message'
    b.assert_called_with(res)

我无法从类中模拟方法C(),这使我的测试失败,因为concurrent.futures._base.TimeoutError

MyClass():

async def a():
   await c()
   b()

我混淆了模拟功能,并且尝试了从路径进行模拟的几种变体,但没有用

from path import __init__, MyClass
asyncio_c = mocker.patch('path.MyClass.c',new=CoroutineMock())

任何想法。对我来说仍然很难模拟。

0 个答案:

没有答案