Как тестировать async код?

Middle
199 просмотров
AFK Offer AI

pytest-asyncio — плагин для async тестов: @pytest.mark.asyncio async def test_fetch(). Fixture тоже может быть async: @pytest_asyncio.fixture async def client(). asyncio_mode = "auto" в конфиге — не нужен mark для каждого теста. Для FastAPI: async with AsyncClient(app=app) as client — HTTPX тест-клиент. Для мокирования async функций: AsyncMock из unittest.mock (Python 3.8+). aioresponses — мокирование aiohttp запросов. Не смешивай sync и async тесты без нужды — усложняет конфигурацию.

Следующий вопрос

Как устроено управление памятью в Python?