我正在嘗試爲aiohttp應用程序編寫測試。我正在使用pytest-aiohttp插件。我的意圖是在第一次測試執行之前初始化和運行應用程序,並在所有測試完成後拆除。像'loop','test_client'這樣的pytest-aiohttp裝置是非常有用的,但它們有scope ='function',這意味着我不能在範圍='session'的自己的fixture中使用它們。有沒有辦法解決這個問題?如果不是的話,那麼在沒有使用嵌入式燈具的情況下,實現我的目標的方法是什麼? 我的代碼如下(conftest.py)然後如何在示波器會話中使用pytest-aiohttp夾具
@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
所以我的固定「客戶」爲每一個測試,這正是我想避免
運行