擅长:python、mysql、java
<p>解决方案其实很简单:
我只需要将mock的<code>__call__</code>方法转换为协同程序:</p>
<pre><code>class AsyncMock(MagicMock):
async def __call__(self, *args, **kwargs):
return super(AsyncMock, self).__call__(*args, **kwargs)
</code></pre>
<p>这非常有效,当调用mock时,代码接收本机协同路由</p>
<p>用法示例:</p>
<pre><code>@mock.patch('my.path.asyncio.sleep', new_callable=AsyncMock)
def test_stuff(sleep):
# code
</code></pre>