Python 3.8 макет для сопрограмм - PullRequest
2 голосов
/ 10 ноября 2019

Я пытаюсь написать unittest для проверки, был ли утвержден метод класса.

class Application:
    async def func1(self):
        await self.func2(self.func3())

    async def func2(self, val):
        pass

    async def func3(self):
        pass

И unittest для него:

@pytest.mark.asyncio
async def test_method():
    app = Application()

    with patch.object(Application, 'func2') as mock:
        await app.func1()
        mock.assert_awaited_with(app.func3())

Но я получаю ошибку:

AssertionError: expected await not found.
Expected: func2(<coroutine object Application.func3 at 0x7f1ecf8557c0>)
Actual: func2(<coroutine object Application.func3 at 0x7f1ecf855540>)

Почему? Я назвал тот же метод. Что я могу сделать с этим?

...