在 运行 quart 中的 pytest 时禁用 before_serving 函数
Disable before_serving function while running the pytest in quart
我正在使用 Quart 应用程序。
我正在我的 before_serving(app_initionalization) 函数中调用一个服务,我不想在 pytests 中调用它。实际上,我想禁用我的 before_serving 函数或类似模拟它的东西。
import pytest
@pytest.mark.asyncio
async def test_my_api_call(test_app: Pint, headers: dict):
test_client = test_app.test_client()
response = await test_client.get("/get_user", headers)
assert response.status_code == 200
这是我的test_app。
@pytest.fixture(name="test_app", scope="function")
async def _test_app(s3_client, tmp_path, async_mongodb):
os.environ["BLOB_STORE"] = str(tmp_path)
db_config['db'] = async_mongodb
async with app.test_app() as test_app:
yield test_app
您的灯具将 运行 服务前启动功能,因为它使用 test_app、
async with app.test_app() as test_app:
因为你不想运行这些你可以改变你的灯具,
@pytest.fixture(name="test_app", scope="function")
async def _test_app(s3_client, tmp_path, async_mongodb):
os.environ["BLOB_STORE"] = str(tmp_path)
db_config['db'] = async_mongodb
return app
我正在使用 Quart 应用程序。
我正在我的 before_serving(app_initionalization) 函数中调用一个服务,我不想在 pytests 中调用它。实际上,我想禁用我的 before_serving 函数或类似模拟它的东西。
import pytest
@pytest.mark.asyncio
async def test_my_api_call(test_app: Pint, headers: dict):
test_client = test_app.test_client()
response = await test_client.get("/get_user", headers)
assert response.status_code == 200
这是我的test_app。
@pytest.fixture(name="test_app", scope="function")
async def _test_app(s3_client, tmp_path, async_mongodb):
os.environ["BLOB_STORE"] = str(tmp_path)
db_config['db'] = async_mongodb
async with app.test_app() as test_app:
yield test_app
您的灯具将 运行 服务前启动功能,因为它使用 test_app、
async with app.test_app() as test_app:
因为你不想运行这些你可以改变你的灯具,
@pytest.fixture(name="test_app", scope="function")
async def _test_app(s3_client, tmp_path, async_mongodb):
os.environ["BLOB_STORE"] = str(tmp_path)
db_config['db'] = async_mongodb
return app