签入版本

This commit is contained in:
2026-09-12 18:57:19 +08:00
parent d45b61d808
commit 2857e0f2da
295 changed files with 20713 additions and 13125 deletions
+32
View File
@@ -38,3 +38,35 @@ def flask_app():
app.config['SECRET_KEY'] = 'test-secret-key'
app.config['WTF_CSRF_ENABLED'] = False
return app
@pytest.fixture
def app():
"""
sqlite 内存库应用实例:供 Repository 单测使用。
- StaticPool 保证所有连接共享同一内存库(多线程/多次 init 下数据一致)
- 每测试独立建表/drop(query.update / bulk_insert 与 identity map 冲突,
不宜采用事务回滚隔离)
- 测试内数据构造需显式 db.session.commit()
"""
from sqlalchemy.pool import StaticPool
from src.core.database import db
import src.models_registry # noqa: F401 (注册全部表)
flask_app = Flask(__name__)
flask_app.config.update(
TESTING=True,
SECRET_KEY='test-secret-key',
WTF_CSRF_ENABLED=False,
SQLALCHEMY_DATABASE_URI='sqlite://',
SQLALCHEMY_TRACK_MODIFICATIONS=False,
SQLALCHEMY_ENGINE_OPTIONS={'poolclass': StaticPool},
)
db.init_app(flask_app)
with flask_app.app_context():
db.create_all()
yield flask_app
db.session.remove()
db.drop_all()