22 lines
790 B
Python
22 lines
790 B
Python
import pytest
|
||
from httpx import AsyncClient, ASGITransport
|
||
from app.main import app
|
||
|
||
@pytest.fixture(scope="session")
|
||
def anyio_backend():
|
||
"""
|
||
Это фикстура, необходимая для pytest-asyncio, чтобы он работал
|
||
с httpx в асинхронном режиме. Просто стандартный шаблон.
|
||
"""
|
||
return "asyncio"
|
||
|
||
@pytest.fixture
|
||
async def client() -> AsyncClient:
|
||
"""
|
||
Главная фикстура. Создает тестовый клиент, который мы будем
|
||
использовать во всех наших тестах.
|
||
"""
|
||
transport = ASGITransport(app=app)
|
||
async with AsyncClient(transport=transport, base_url="http://test") as async_client:
|
||
yield async_client
|