Ich versuche, Tests für aiohttp Anwendung schreiben. Ich benutze pytest-aiohttp plugin. Ich beabsichtige, die Anwendung vor der ersten Testdurchführung zu initialisieren und auszuführen und nach Abschluss aller Tests abzubrechen. pytest-aiohttp Fixtures wie 'loop', 'test_client' sind sehr hilfreich, aber sie haben scope = 'function', was bedeutet, dass ich sie nicht von meinem eigenen Fixture mit scope = 'session' verwenden kann. Gibt es eine Möglichkeit, dies zu umgehen? Und wenn nicht, was wäre ein richtiger Ansatz, um mein Ziel zu erreichen, ohne eingebaute Vorrichtungen zu verwenden? Mein Code ist wie folgt (conftest.py)Wie pytest-aiohttp Fixtures mit Scope-Sitzung verwenden
@pytest.fixture()
def client(test_client, loop):
app = init(loop)
return loop.run_until_complete(test_client(app))
Meine Tests dann diese
class TestGetAlerts:
async def test_get_login_url(self, client):
resp = await client.get('/api/get_login_url')
assert resp.status == 200
verwenden
meine Leuchte 'Kunden' für jeden Test läuft also, das, was ich will, ist zu vermeiden