SuperAPI AI 工具集

add-test

测试与质量

查看项目

更新于 10-16 06:43

技能介绍

用途:为已有 collection 中的特定工具创建集成测试文件,遵循该 collection 已建立的测试模式,一次只处理一个工具。

适用场景:用 /add-tool 新增工具后想单独测试;手动创建或修改工具后需要测试;测试被删除需重建;/build-tools-tests 因测试已存在而跳过该 collection。

前提条件:collection 已存在(src/umbraco-api/tools/{collection}/index.ts);测试基础设施已存在(src/umbraco-api/tools/{collection}/tests/setup.ts),否则需先运行 /build-tools-tests {collection};项目可编译(npm run compile);Umbraco 实例正在运行;需存在 API 用户,提示为在 Umbraco 后台 UI 创建,Client ID 为 umbraco-back-office-mcp,Client Secret 为 1234567890。

参数:collection 名称(必填);工具名(可选)。未提供工具名时,会比较 collection 索引中的工具与现有测试文件,列出未测试工具供选择。

工作流:识别工具;读取已有测试模式(setup.ts、1-2 个现有测试文件及工具文件);检查 builder 覆盖,必要时向现有 builder 添加方法或向 helper 添加查询方法;用 integration-test-creator 创建测试文件(导入 ./setup.js、使用现有 builder、成功用例用 createSnapshotResult + toMatchSnapshot 快照测试、错误用例用 expect(result.isError).toBe(true)、1 个正常路径加 1 个错误用例、最多 2-3 个测试、afterEach 清理数据),随后分别运行 npm run compile 和 npm test -- tests/{collection}/{action}-{entity}.test.ts 并修复失败;用 integration-test-validator 验证;报告结果。分页工具(带 skip/take)不要再次包装,withStandardDecorators 已应用 withCursorPagination。

关键规则:测试基础设施必须已存在,本技能不创建 setup.ts、builder 或 helper;一次一个文件,编译、运行、修复后再继续;编译与测试须分别作为独立 Bash 调用,不得用 && 串联;针对真实 Umbraco 实例做集成测试,禁止创建 mock;只在 tests/ 下创建文件,不修改工具文件、collection 索引、API 客户端文件或 mock 处理器。

限制:资料未提供适用范围之外的更多细节,具体快照与分页示例参见 /build-tools-tests 的 SKILL.md。