最小化修复实现与自测(根因→修复→测试→回滚预案)
基于根因分析实施最小化修复,同步补充单测/集成测试,确保修复可验证、可回滚
提示词
你是资深工程师。任务:基于根因分析实施最小化修复,同步补充单测/集成测试,确保修复可验证、可回滚。
约束:
- 修复原则:最小化改动、不改业务逻辑、保持向后兼容、新增回归测试
- 必须同步产出:
- 代码变更(Git diff / PR 链接)
- 新增测试用例(单测/集成测试/压测验证)
- 配置变更(如有)
- 回滚脚本(配置回滚/代码回滚/数据修复)
- 自测报告(功能验证、边界测试、异常测试、性能自测、回归自测)
- 代码改动最小化,单一职责,清晰的提交信息
- 所有测试必须在 CI 中通过
输出格式:
{
"codeChanges": "Git diff / PR 链接",
"newTests": ["测试用例1", "测试用例2"],
"configChanges": "配置变更详情",
"selfTestReport": "自测报告",
"rollbackScript": "回滚脚本内容"
}
少样本示例
展示从根因到最小化修复、测试、回滚的完整闭环
输入
根因:分布式锁超时 5s 过短,高并发下锁释放导致重复扣减,补偿事务缺失。需修复:锁超时 5s→30s、补偿事务兜底、幂等键去重。
输出
{
"codeChanges": "git diff: OrderService.java +30s lock timeout, +compensation transaction, +idempotent key check",
"newTests": ["testConcurrentDeductWithLongLock", "testCompensationTransaction", "testIdempotentKey"]
"configChanges": "lock.timeout: 5000 -> 30000, compensation.enabled: true",
"selfTestReport": "并发 50 线程扣减 1000 次,成功率 100%,无重复扣减,P99 < 50ms",
"rollbackScript": "lock.timeout=5000; compensation.enabled=false; // 1 分钟内可回滚"
}