SuperAPI AI 工具集

validate-and-fix

测试与质量

查看项目

更新于 10-16 03:11

技能介绍

用途:对项目执行验证流水线,自动修复简单问题后重新运行,直到全绿或遇到真实失败。适用于代码改动后需要跑测试与 lint 的场景。

主要能力与规则:必须使用 make test 而非 go test(Makefile 会处理 envtest、CRD、构建标志);不得修改生产逻辑来让测试通过,只能修复测试期望、导入、格式;不得跳过或删除失败测试;自动修复最多 3 轮以避免死循环;真实失败需清晰报告,不做推测性修复。

流程:第一步运行 make test 2>&1 | tail -60,全部通过则进入 lint。第二步对每个失败分类:可自动修复的包括测试期望旧常量值、函数重命名、重构导致的导入错误、测试缺少清理等;真实失败(生产代码逻辑错误、断言反映行为回归、调和循环失败、上下文取消、未修改代码中的失败)不自动修复,报告测试名、文件、错误信息后停止。第三步运行 make lint 2>&1 | tail -40,涵盖 golangci-lint、go fmt、go vet 及自定义检查,常见修复包括 go fmt ./...、删除未使用导入、处理未使用变量、补充错误检查、修正无效赋值,每次修复后重新运行。第四步可选运行 make test-e2e 2>&1 | tail -30,仅在用户明确要求或改动影响调和逻辑时执行,需要已部署 operator 的 OpenShift/Kubernetes 集群,E2E 失败几乎都是真实失败。第五步若 API 变更(api/v1alpha1/),运行 make generate、make manifests、git diff,有差异则 git add api/ config/ 并 git commit -m "Regenerate manifests"。第六步报告 make test 与 lint 结果、失败测试摘要、剩余 lint 错误、E2E 结果、已应用的自动修复及使用的轮次,并给出是否可提交的结论,不输出无关诊断或建议。