用途:本技能为 pingidentity/aic-mcp-server 项目定义编写和修改测试时必须遵守的约定,涵盖框架选型、文件模板、章节顺序与安全测试要求。
主要能力:
- 框架为 Vitest 与 MSW(Mock Service Worker),测试在 test/tools/<category>/ 下镜像源码结构。
- 核心原则:测试应用逻辑(请求构造、响应处理、输入校验、错误处理),而非测试 API 本身。
- 提供测试文件模板,包含导入 describe、it、expect,工具函数、snapshotTest、setupTestEnvironment、server 及 msw 的 http、HttpResponse。
- 必备快照测试:每个工具都需验证工具 schema 快照。
- 请求构造测试:通过 spy 校验 URL、scopes、method、body。
- 响应处理:使用 server.use() 提供 MSW 响应。
- 输入校验:直接测试 Zod schema。
- 错误处理:用错误响应覆盖处理器。
章节顺序:1. 快照测试;2. 请求构造;3. 响应处理;4. 输入校验;5. 错误处理。复杂编排工具在快照测试后增加“应用逻辑”。
安全测试:对接受用户输入的工具,必须包含 ID 参数的路径遍历防护(schema.parse('../etc/passwd') 应抛错)和用户提供过滤字符串的查询注入防护。
添加工具后运行 npm run test:snapshots:update 创建快照,再运行 npm test 验证。
限制:资料仅给出上述约定,未提及价格、平台支持、性能效果等;具体测试数量与覆盖率要求暂未提供。