SuperAPI AI 工具集

testing-patterns

测试与质量

查看项目

更新于 10-15 17:27

技能介绍

用途:在 template-ts 项目中实现或评审测试工作流,帮助选择最轻量有效的测试类型,并保持项目内一致的测试模式。

主要能力:

  1. 测试层级由简到繁:单元测试(优先,覆盖纯函数、解析器与 Effect 服务)、TRPC 集成测试(覆盖完整 TRPC 与数据库行为)、E2E 测试(覆盖浏览器与完整用户流程)。
  2. 按场景给出测试类型与对应操作:纯函数/解析器/工具立即写单元测试;带依赖的 Effect 服务用 mock 层写单元测试;TRPC 过程(数据库逻辑)走 TRPC 集成测试决策流程;面向用户的流程与 UI 行为走 E2E 决策流程。
  3. 测试文件位置约定:packages/X/src/file.ts 对应 packages/X/src/tests/file.test.ts;apps/web-app/src/infrastructure/trpc/routers/X.ts 对应 apps/web-app/src/tests/X.test.ts;apps/web-app/src/routes/** 对应 apps/web-app/e2e/feature.e2e.ts。
  4. 决策流程:先判断能否单元测试,能则立即编写;需要数据库行为(连接、约束、TRPC 与持久化)时,若用户明确要求集成测试则直接实现,否则询问是否添加;需要浏览器/UI 流程验证时,若用户明确要求 E2E 则直接实现,否则询问并提示 E2E 维护成本最高;不对已明确要求的测试类型重复询问。
  5. 单元测试默认使用;“服务层测试使用真实服务逻辑并 mock 边界”指测试真实服务实现,将外部边界(如 HTTP、数据库、文件系统客户端)替换为 mock。
  6. TRPC 集成测试使用 @project/db/testing 的 seed 辅助函数,按用例准备最小必要状态。
  7. 具体示例见 references/examples.md,涵盖基础 Vitest、使用 @effect/vitest 与 mock 层的 Effect 测试、服务层测试、集成测试 setup 与 seed helper、E2E 与认证 helper。

命令:bun run test(运行全部单元与 TRPC 集成测试)、bun run test:watch(监听模式)、bun run test:coverage(带覆盖率)、bun run test:e2e(运行 E2E)、bun run test:e2e:ui(带 UI 的 E2E)。运行单个测试文件需从项目根目录使用完整路径,例如 bun run vitest run packages/common/src/tests/pagination.test.ts 或 bun run vitest run apps/web-app/src/tests/formatters.test.ts。注意 bun run test 的脚本不接受路径参数,且不要在子目录中运行 vitest。

限制:资料未提供该技能的安装方式、发布时间、版本与授权信息。