返回 Bug 清单
BUG-1381project-12高已修复python-logic

pytest conftest 多 fixture 独立 session + 依赖方向反了 → UNIQUE 爆炸 + detached 对象

发现:2026-10-15验证:2026-10-15置信度:85%

症状

pytest tests/test_auth.py 混跑时 20/23 tests 报 UNIQUE 或 fixture ERROR;单跑部分 test 又 PASS(fixture 顺序不确定);test_login_inactive_user 修改 is_active 后 login 仍返回 200 而非 403

根因

setup_db 依赖 seed_users + 各用各的 TestSessionLocal → seed_users 先 INSERT 撞上残留数据 → UNIQUE 爆炸;setup_db 关闭 session 后 seed_users 返回 detached 对象 → 测试修改 is_active 后 commit 不生效

修复方案

合并成单个 setup_db autouse fixture 创建 _current_test_session 共享 session;同一 session 内 DELETE 全表 → INSERT 5 用户 → commit;override_get_db / db_session / seed_users 全部返回这个共享 session;setup_db teardown 统一关闭

错误签名

sqlite3.IntegrityError.*UNIQUE constraint failed.*users.email

技术信息

来源项目

project-12

涉及文件

backend/tests/conftest.py

标签

project-12, mcp-reported, source-agent