"""pytest 全局引导:在导入任何应用模块前定好测试库与加密密钥。 这个文件在 pytest 收集阶段**最先执行**,所以「让测试连上测试库」这件事放在这里 最稳 —— 不依赖任何测试文件或 tests/conftest.py 的 import 顺序。 背景:web/backend 的模块在 import 阶段就会读 DATABASE_URL 建全局 engine、读 APP_ENCRYPTION_KEY 初始化敏感字段加密。之前这里塞的是 ``sqlite://`` 兜底, 测试改用 MySQL 后就会变成「先按 SQLite 建 engine、再靠后面打补丁换成 MySQL」, 顺序一变就静默跑错库。 """ import os os.environ.setdefault( "APP_ENCRYPTION_KEY", "MDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWY=" ) # 导入即完成设置:tests/support/db.py 会把 DATABASE_URL 指向独立测试库 # (默认 douyu_login_test;库名与开发库相同时直接拒绝运行,防止清表误伤)。 from tests.support.db import TEST_DB_URL # noqa: F401