Мок асинхронного клиента падает на await с TypeError
async def get_profile(client, user_id):
data = await client.fetch_user(user_id)
return data["name"]
async def test_get_profile():
client = MagicMock()
client.fetch_user.return_value = {"name": "Аня"}
assert await get_profile(client, 1) == "Аня"
Тест падает: TypeError: object dict can't be used in 'await' expression. Как починить?
- Использовать AsyncMock: его вызов возвращает корутину для await
- Убрать await из get_profile — в тестах он не нужен
- Задать return_value через side_effect вместо присваивания
- Обернуть return_value в список: [{"name": "Аня"}]
