回归防护:回传逻辑 17 个用例拆解
为什么要专门防"回传"这个环节
识别结果最终要按白名单规则组装、回传给业务方。这条逻辑错一个细节(比如该过滤的没过滤、该保留的没保留),数据就错。而且它改动频繁,必须用测试锁死。
我们拆成了几类用例
回传逻辑的测试覆盖这些维度:
def test_whitelist_filter():
result = build_payload(json, std_files)
# 只有白名单里的批号/元素出现
assert set(result.keys()) <= set(json["p_Match"].keys())
_std 后缀防回归
有个特殊的防护:回传遍历输出目录找标准文件时,靠 *_std.xlsx 后缀定位。测试里专门断言只有 _std 结尾的文件被认作标准文件,防的是命名约定被无意破坏。
为什么值得 17 个用例
回传是交付的最后一公里,出错用户第一个炸。为高频、易错、影响交付的逻辑投资测试,回报率最高。每个用例都是一次"改出问题也能第一时间发现"的保险。
跑法
python –m pytest tests/ –q
一次性跑全量,全绿才合入。
一句话:回传这种"变更频繁 + 影响交付"的逻辑,多写用例锁死行为,白名单、多批号、空文件、全链路都要覆盖。




