Пытаюсь написать тесты для приложения aiohttp. Я использую плагин pytest-aiohttp. Я намерен инициализировать и запустить приложение один раз перед первым выполнением теста и разорвать его после завершения всех тестов. Приспособления pytest-aiohttp, такие как 'loop', 'test_client', очень полезны, но у них есть scope = 'function', что означает, что я не могу использовать их из моего собственного приспособления с scope = 'session'. Есть ли способ обойти это? А если нет, то что было бы правильным подходом для достижения моей цели без использования встроенных приспособлений? Мой код выглядит следующим образом (conftest.py)
@pytest.fixture()
def client(test_client, loop):
app = init(loop)
return loop.run_until_complete(test_client(app))
Затем мои тесты используют это
class TestGetAlerts:
async def test_get_login_url(self, client):
resp = await client.get('/api/get_login_url')
assert resp.status == 200
Итак, мой «клиент» прибора запускается для каждого теста, чего я хочу избежать.