name: 解决失败测试 description: 分析失败测试,修复底层问题,并验证修复。在/test报告失败后使用。 argument-hint: [test-result-json] allowed-tools: Read, Write, Edit, Bash, Glob, Grep
解决失败测试
分析失败测试,修复底层问题,并验证修复。
变量
test_result: $ARGUMENTS - 来自/test命令的失败测试详情的JSON对象
输入格式
期望来自/test命令的JSON对象:
{
"test_name": "单元测试",
"passed": false,
"execution_command": "pytest tests/test_auth.py -v",
"test_purpose": "验证认证功能",
"error": "AssertionError: 预期状态200,得到401"
}
指令
1. 分析测试失败
审查测试结果:
- test_name: 哪个测试类别失败
- test_purpose: 正在验证的功能
- error: 特定的错误消息
- execution_command: 如何复现
通过理解以下内容识别根因:
- 预期与实际情况
- 可能失败的代码路径
- 错误的可能原因
2. 复现失败
重要:使用测试结果中的确切execution_command:
# 运行确切命令以确认失败
{execution_command}
验证您看到相同的错误。这确保您正在修复正确的问题。
3. 修复问题
应用修复,遵循以下原则:
- 最小化更改:仅修复损坏的部分
- 修复代码,而非测试:测试验证正确性
- 保留现有行为:不要引入回归
- 匹配现有模式:遵循代码库惯例
4. 验证修复
重新运行相同的execution_command:
{execution_command}
成功标准:测试现在通过(退出码0,无失败)
5. 运行完整验证
如果特定测试通过,运行完整的测试套件以检查回归:
# 运行完整测试套件
[完整测试命令]
输出格式
报告您的解决:
## 解决完成
### 失败分析
- **测试**: {test_name}
- **根因**: [导致失败的原因]
- **错误**: {error}
### 应用修复
- **修改的文件**: [文件列表]
- **更改摘要**: [简要描述]
### 验证
- **特定测试**: 通过
- **完整套件**: 通过/失败
- **使用的命令**: {execution_command}
### 笔记
[任何观察或建议]
重试逻辑
如果修复无效:
- 重新分析错误输出
- 考虑替代根因
- 应用不同的修复
- 重新验证
在升级前最多重试3次。
与闭环集成
此命令是解决阶段:
/test → [失败JSON] → /resolve-failed-test {结果} → /test
↓
[验证修复]