欢迎光临
我们一直在努力

干货:回归防护

回归防护:回传逻辑 17 个用例拆解

为什么要专门防"回传"这个环节

识别结果最终要按白名单规则组装、回传给业务方。这条逻辑错一个细节(比如该过滤的没过滤、该保留的没保留),数据就错。而且它改动频繁,必须用测试锁死。

我们拆成了几类用例

回传逻辑的测试覆盖这些维度:

  • 白名单过滤:p_Match 里没配的元素/批号,不该出现在回传数据里。
  • 多批号配置:一个文件多个批号,每个批号各领各的元素,不能混。
  • 空数据文件跳过:提取不到有效元素的文件,直接跳过,不出错。
  • 引擎全链路:从入队 → 引擎 process → 覆盖 _std 后缀文件,整条链走通。
  • 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

    一次性跑全量,全绿才合入。

    一句话:回传这种"变更频繁 + 影响交付"的逻辑,多写用例锁死行为,白名单、多批号、空文件、全链路都要覆盖。


    赞(0)
    未经允许不得转载:171主机测评 » 干货:回归防护
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址