Files
TARE-Learn/slidev/pages/day4/m5-exception-defensive.md
T
2026-07-02 10:04:32 +08:00

3.1 KiB

模块 5:异常态与防御性逻辑

复杂业务不能只测正常流。权限不足、接口失败、重复提交、非法状态流转都必须有明确处理。

空数据
接口失败
权限不足
重复提交
非法流转
工单不存在

异常态清单

场景 触发条件 前端表现 后端响应 验收
空列表 查询无结果 显示空状态 返回空数组 不显示报错
接口失败 服务异常 提示重试 5xx 或业务错误 页面不崩溃
权限不足 无权限操作 按钮不可见或提示无权限 403 不完成操作
重复提交 连续点击提交 按钮禁用或 loading 拒绝重复请求 只生成一条记录
非法流转 closed -> processing 提示非法状态 业务错误码 状态不变
工单不存在 错误 ID 显示不存在 404 或业务错误 页面不崩溃

最小测试集

编号 场景 操作 预期
E01 无权限删除 研发账号请求删除接口 返回拒绝
E02 非法状态流转 closed -> processing 状态不变
E03 重复提交验证 连续点击提交验证 只成功一次
E04 工单不存在 查询错误 ID 页面不崩
E05 驳回缺少原因 remark 为空 返回参数错误
E06 看板无数据 无数据范围 显示空态

防御性修改边界

层级 修改重点
前端 loading、禁用按钮、空态、错误提示
后端 Controller 参数校验、权限校验
Service 状态校验、幂等、防重复、事务
审计日志 避免重复有效记录
不要为了一个工单异常态,重写全局请求库或无关业务模块。