From 4ac8b817551cac8fd8969e508ddbd94f53954642 Mon Sep 17 00:00:00 2001 From: PineHomePC Date: Sun, 23 Aug 2026 23:59:34 +0800 Subject: [PATCH] =?UTF-8?q?test:=20conftest=20=E9=80=82=E9=85=8D=E5=BC=82?= =?UTF-8?q?=E6=AD=A5=20Database=EF=BC=88async=20URL=20+=20asyncio=20?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/conftest.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 7902ef5..e147e59 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -2,19 +2,21 @@ """共享夹具:临时 SQLite 数据库 + TestClient(auth 与 rbac 测试共用)。""" from __future__ import annotations +import asyncio + import pytest from fastapi.testclient import TestClient from app.main import app -from app.repositories import Database +from app.infrastructure.repositories import Database @pytest.fixture() def client(tmp_path): """把 app.state.db 换成指向临时 SQLite 的 Database,保证测试隔离。""" - db = Database(db_url=f"sqlite:///{tmp_path}/test.db") - db.initialize() + db = Database(db_url=f"sqlite+aiosqlite:///{tmp_path}/test.db") + asyncio.run(db.initialize()) app.state.db = db with TestClient(app) as c: yield c - db.close() + asyncio.run(db.close())