ошибка атрибута: объект 'nonetype' не имеет атрибута 'empty' для async await
class a(self):
async def x(self, p1, p2):
await connection.fetch(p1)
....
return df
async def y(self, p3, p4):
df = await self.x(x1, x2)
if not df.empty:
# code
Как написать тестовый метод для y()? После имитации x() появляется эта ошибка:
attribute error: 'nonetype' object has no attribute 'empty'
test_y.py:
import asyncio
def x_mock():
...
return df
def test_y(mocker):
...
mocker.patch('a.x', return_value=x_mock())
asyncio.run(y(p3, p4))
x_mock()
в основном создает фрейм данных
1 ответ
Следуя комментариям, попробуйте использовать:
mocker.patch(..., new_callable=mocker.AsyncMock)