Appearance
AI Regression Testing Skill 是 Everything Claude Code 插件体系中,专为 AI 辅助开发场景打造的回归测试方案。它聚焦于同一 AI 模型写代码又自审时易产生的“盲区”,通过沙箱模式 API 测试、自动化回归用例和 bug-check 工作流,极大提升了 AI 编程助手下的代码安全性和回归防御能力。适用于 Claude Code、Cursor、Codex 等主流 AI 编程环境,尤其适合频繁修改 API 或后端逻辑的项目。
Everything Claude Code AI Regression Testing:同一模型写和审的盲点检测与沙箱模式 API 测试
在 AI 编程助手(如 Claude Code、Cursor、Codex)驱动的开发流程中,AI 不仅负责代码生成,还常常承担代码审查。这种“同一模型写和审”的模式带来了独特的系统性盲点:AI 会把同样的假设和疏漏带入写代码和代码审查两个环节,导致某些类型的回归反复出现而难以被察觉。AI Regression Testing Skill 正是为了解决这一问题而设计,结合沙箱模式 API 测试和自动化回归用例,成为 AI 辅助开发场景下不可或缺的安全网。
本指南将详细介绍如何在实际项目中用好 AI Regression Testing Skill,包括适用场景、触发时机、分步操作流程、输出示例、常见配套 Agent,以及与其他 Skill 的协作关系。你将学会如何让 AI 编程助手的 bug-check 流程真正防止“AI 自己看不见的回归”,而不是流于形式。
1. 这个 Skill 解决什么问题?
传统的代码回归测试主要针对人工开发流程设计,而 AI 辅助开发下,回归的“新型盲点”主要有:
- 同一模型写和审的假设盲区:AI 生成代码后自审,容易重复同样的遗漏(如 API 字段遗漏、路径分支不一致等)。
- 沙箱/生产路径不一致:AI 修复生产路径但忘记沙箱路径,或反之,导致 mock/production 行为不对齐。
- SELECT 子句遗漏:新增字段未同步到 SELECT 查询,AI 审查时也没发现。
- 错误状态未清理、乐观更新无回滚:AI 只关注 happy path,异常分支遗漏处理。
不用该 Skill 时,开发者往往依赖 AI 自审或人工 spot check,实际生产中这些回归会反复出现,极难彻底杜绝。
2. 适用场景与触发条件
AI Regression Testing Skill 主要在以下场景自动激活或建议使用:
- AI Agent 修改了 API 路由或后端逻辑(如 Claude Code、Cursor、Codex 生成/重构后端代码)
- 发现并修复了 bug,需要防止同类回归
- 项目具备沙箱/mock 模式,可实现无数据库依赖的快速 API 测试
- 执行
/bug-check或类似代码审查命令后 - 存在多路径逻辑(如生产/沙箱、feature flag)时
在 Everything Claude Code 的 bug-check 工作流中,AI Regression Testing Skill 通常与 Verification Loop Skill 及 Benchmark Skill 协同,形成“自动测试→类型检查→AI 审查→回归用例补充”的完整闭环。
3. 使用流程 Step by Step
步骤 1:配置沙箱模式 API 测试环境
以 Next.js + Vitest 为例,配置沙箱模式,确保测试无需真实数据库:
typescript
// vitest.config.ts
import { defineConfig } from "vitest/config";
import path from "path";
export default defineConfig({
test: {
environment: "node",
globals: true,
include: ["__tests__/**/*.test.ts"],
setupFiles: ["__tests__/setup.ts"],
},
resolve: {
alias: {
"@": path.resolve(__dirname, "."),
},
},
});typescript
// __tests__/setup.ts
// 强制沙箱模式,无需数据库
process.env.SANDBOX_MODE = "true";
process.env.NEXT_PUBLIC_SUPABASE_URL = "";
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY = "";步骤 2:编写 API 路由测试辅助函数
封装 Next.js API 路由的测试请求与响应解析:
typescript
// __tests__/helpers.ts
import { NextRequest } from "next/server";
export function createTestRequest(
url: string,
options?: {
method?: string;
body?: Record<string, unknown>;
headers?: Record<string, string>;
sandboxUserId?: string;
},
): NextRequest {
// ...实现略,详见上文
}
export async function parseResponse(response: Response) {
const json = await response.json();
return { status: response.status, json };
}步骤 3:为已发现的 bug 编写回归测试用例
原则:只为出现过 bug 的路径补充回归测试,用测试锁死 AI 反复犯错的点。
typescript
// __tests__/api/user/profile.test.ts
import { describe, it, expect } from "vitest";
import { createTestRequest, parseResponse } from "../../helpers";
import { GET } from "@/app/api/user/profile/route";
const REQUIRED_FIELDS = [
"id", "email", "full_name", "phone", "role",
"created_at", "avatar_url", "notification_settings", // ← bug 修复后补充
];
describe("GET /api/user/profile", () => {
it("returns all required fields", async () => {
const req = createTestRequest("/api/user/profile");
const res = await GET(req);
const { status, json } = await parseResponse(res);
expect(status).toBe(200);
for (const field of REQUIRED_FIELDS) {
expect(json.data).toHaveProperty(field);
}
});
// 针对 notification_settings 缺失的回归用例
it("notification_settings is not undefined (BUG-R1 regression)", async () => {
const req = createTestRequest("/api/user/profile");
const res = await GET(req);
const { json } = await parseResponse(res);
expect("notification_settings" in json.data).toBe(true);
const ns = json.data.notification_settings;
expect(ns === null || typeof ns === "object").toBe(true);
});
});步骤 4:检测沙箱/生产路径一致性
AI 最常见回归是“只修了生产路径,忘了沙箱路径”,用如下测试防御:
typescript
describe("GET /api/user/messages (conversation list)", () => {
it("includes partner_name in sandbox mode", async () => {
const req = createTestRequest("/api/user/messages", { sandboxUserId: "user-001" });
const res = await GET(req);
const { json } = await parseResponse(res);
if (json.data.length > 0) {
for (const conv of json.data) {
expect("partner_name" in conv).toBe(true); // 防止只在生产路径加字段
}
}
});
});步骤 5:集成到 bug-check 工作流
Everything Claude Code 推荐如下 bug-check 流程(可用 Verification Loop Skill 自动化):
- 先跑自动化测试(npm run test),任何失败即视为最高优先级 bug
- 类型检查/构建(npm run build),TypeScript 报错同样优先修复
- AI 代码审查,重点关注多路径一致性、API 响应 shape、SELECT 完整性、错误处理
- 每修复一个 bug,立刻补充对应回归测试
示例命令定义(.claude/commands/bug-check.md):
markdown
# Bug Check
## Step 1: Automated Tests (mandatory, cannot skip)
npm run test
npm run build
## Step 2: Code Review (AI review)
1. Sandbox / production path consistency
2. API response shape matches frontend expectations
3. SELECT clause completeness
4. Error handling with rollback
5. Optimistic update race conditions
## Step 3: For each bug fixed, propose a regression test步骤 6:常见回归模式与测试策略
| 回归模式 | 测试策略 | 优先级 |
|---|---|---|
| 沙箱/生产路径不一致 | 断言两路径返回字段完全一致 | 高 |
| SELECT 子句遗漏 | 断言所有必需字段都在响应中 | 高 |
| 错误状态未清理 | 断言异常时相关状态被清空 | 中 |
| 乐观更新无回滚 | 断言 API 失败时状态能正确回滚 | 中 |
| 类型掩盖 null/undefined | 断言字段不为 undefined | 中 |
4. 输出示例
bug-check 流程输出示例:
User: /bug-check
Step 1: npm run test
✔ GET /api/user/profile returns all required fields
✔ notification_settings is not undefined (BUG-R1 regression)
✔ GET /api/user/messages includes partner_name in sandbox mode
Step 2: npm run build
✔ Build success
Step 3: AI code review
- No new issues found. Both sandbox and production paths match.
Step 4: Regression test added for notification_settings bug.5. 常见配套 Agent 与 Skill 协作关系
- 与 Verification Loop Skill 协同,实现 bug-check 全流程自动化
- 可与 Benchmark Skill 结合,监控 PR 前后性能回归
- 推荐与 Code Reviewer Agent 配合,AI 审查时重点提示多路径一致性
- 可与 Agent Eval Skill 组合,对比多 Agent 的回归防御能力
更多 ECC 组件协作模式详见 Everything Claude Code 完全指南。
6. 实践建议与注意事项
DO:
- 发现 bug 后,优先写回归测试再修复
- 只为出过 bug 的路径补测试,测试数量随实际问题自然增长
- 测试聚焦 API 响应 shape,不关心内部实现
- 测试务必快(沙箱模式下 <1s),便于每次 bug-check 强制执行
- 测试用例命名建议带上“BUG-XX regression”便于追溯
DON'T:
- 不为从未出过 bug 的路径写测试(避免无效覆盖)
- 不把 AI 自审当作自动化测试的替代品
- 不因“沙箱只是 mock”而跳过沙箱路径测试
- 不盲目追求覆盖率,目标是锁死已知回归点
FAQ
Q: AI Regression Testing Skill 适合哪些项目? A: 适用于所有用 Claude Code、Cursor、Codex 等 AI 编程助手开发、且有 API/后端逻辑的项目,尤其是支持沙箱/mock 测试的架构。
Q: 只用 AI 代码审查还需要这个 Skill 吗? A: 必须要。AI 自审极易遗漏同类回归,只有自动化测试能彻底锁死这些盲点。
Q: 如何与 Verification Loop Skill 协同使用? A: 建议将 AI Regression Testing Skill 配置为 bug-check 流程的第一步,Verification Loop Skill 负责串联自动测试、类型检查和 AI 审查,实现全流程自动化。