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