返回 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