核心用法
Test Sentinel 是一个专为现代全栈项目设计的自动化测试技能,主要针对 Next.js App Router + Supabase + Firebase Auth + Vitest + Playwright 技术栈。其工作流程遵循严格的强制规划协议:在编写任何测试前,必须先理解测试范围、调研源代码、构建详细的测试计划(包含 happy path、edge cases、error cases)、规划 mock 策略,最后才进入执行阶段。
技能覆盖三层测试体系:
- 单元测试(Vitest):针对工具函数、Zod schemas、数据转换、hooks、stores,采用与源码同目录的
__tests__共存模式 - 集成测试(Vitest):针对 API routes、Server Actions、数据访问层,提供 Supabase/Firebase 的隔离 mock 方案
- E2E 测试(Playwright):覆盖关键用户流程(认证、核心功能主路径)
显著优点
1. 结构化方法论:强制规划协议避免"先写代码后补测试"的常见反模式,从根本上减少脆弱测试(brittle tests)
2. 技术栈深度适配:内置对 Next.js App Router、Supabase 类型系统、Firebase Auth 的原生支持,mock 示例可直接复用
3. 自动化修复闭环:区分测试 bug 与代码 bug,支持自主修复源代码并重新验证,减少人工介入
4. 质量门禁机制:定义完整的通过标准(单元/集成/E2E 测试、lint、TypeScript 检查、覆盖率不下降)
5. 工程化最佳实践:推荐使用工厂函数生成测试数据、禁止生产数据、强制 cleanup 副作用
潜在局限
1. 技术栈锁定:高度优化于特定技术组合(Next.js + Supabase + Firebase),其他技术栈(如 Django、Ruby on Rails、传统 REST API)需要大量适配
2. Node.js 生态依赖:假设使用 npm/npx 工具链,对 monorepo 或其他包管理器(pnpm/yarn workspace)的支持未明确说明
3. CI/CD 集成缺失:文档未涉及 GitHub Actions、GitLab CI 等自动化流水线的配置建议
4. 测试执行成本:Playwright E2E 测试需要真实浏览器环境,在资源受限场景下运行成本较高
适合人群
- 使用 Next.js App Router 构建 SaaS 产品的全栈开发团队
- 需要为 Supabase/Firebase 后端补全测试覆盖的现有项目
- 希望建立规范化 QA 流程但缺乏测试架构经验的中小型团队
- 追求"测试驱动修复"(test-driven bug fixing)自动化程度的项目
常规风险
- 过度 mock 风险:技能推荐"优先使用共存 mock 而非全局 mock",但复杂依赖链仍可能导致 mock 与真实行为漂移
- Firebase 模拟限制:Firebase Auth 的模拟可能无法覆盖所有安全规则场景,需配合 Firebase Emulator Suite 使用
- 覆盖率误导:明确警告"追求 100% 行覆盖率"的陷阱,但仍存在团队机械执行指标的风险
- Playwright 维护负担:E2E 测试对 UI 变化敏感,需建立选择性更新机制避免维护噩梦