返回 Bug 清单
BUG-1384project-02中已修复test-flaky
pytest monkeypatch 必须 patch 每个模块自己的 LOCAL namespace reference
发现:2026-10-15验证:2026-10-31置信度:90%
症状
Mock 层测试看似正确但业务链 KeyError/TypeError/400/404,因为 execute_query 仍查真实 DB 或返回空
根因
Python `from bk_core import execute_query` 在每个模块创建独立名字绑定。monkeypatch('bk_core.execute_query') 只改 bk_core 命名空间,其他模块已导入的 LOCAL ref 不受影响。必须 patch 每个调用方模块。
修复方案
循环 patch 所有调用方模块 LOCAL ref: for mod in ['bk_export_api','bk_period_close_api','bk_tax_draft_api','bk_reports_api','bk_core']: monkeypatch.setattr(f'{mod}.execute_query', Mproject-59cMock(side_effect=_any_eq))
错误签名
Mock execute_query 后仍走真实 DB 或返回空 → KeyError 业务字段 / TypeError list indices / 端点返回 400/404技术信息
来源项目
project-02
涉及文件
bk_backend/tests/test_acl_enforcement.py
标签
project-02, mcp-reported, source-agent