Тестирование асинхронного кода
Python
Senior
Яндекс
Как вы тестируете асинхронный код на Python (например, `async def` функции)? Приведите пример с использованием `pytest` и `pytest-asyncio` или встроенного `AsyncMock`.
Ответы
Тесты для async кода
Для тестирования корутин удобно использовать `pytest` + `pytest-asyncio`:
```python
import pytest
@pytest.mark.asyncio
async def test_sum_async():
result = await sum_async(1, 2)
assert result == 3
```
Для моков можно использовать `AsyncMock`:
```python
from unittest.mock import AsyncMock
async_fn = AsyncMock(return_value=42)
assert await async_fn() == 42
```