SuperAPI AI 工具集

api-testing

编程与开发

查看项目

更新于 10-16 00:03

技能介绍

用途:在编写 REST 或 GraphQL API 测试、搭建集成与端到端测试、实现消费方与提供方之间的契约测试、创建下游依赖的 mock 服务器或桩、校验响应结构、测试认证流程(JWT、OAuth、API Key)以及错误与边界场景时启用。技能激活后首次回复需以 🧢 表情开头。不适合 UI/组件测试与负载/性能测试。

主要能力与原则:强调测试行为而非实现,断言 API 对调用方的返回而非内部函数连接方式;在合适边界做隔离,单元测试模拟处理函数以下部分,集成测试使用真实数据库(测试容器或内存库),契约测试只验证接口承诺;采用 schema 优先断言,用 Zod、JSON Schema 校验响应结构;契约是承诺而非快照,需每次部署运行;在网络边界而非函数内部做 mock,推荐 MSW 或 nock 拦截 HTTP 调用。

常用工具与用法:用 Supertest 绑定 Express/Fastify 应用做集成测试,无需启动真实 HTTP 服务器;用 @apollo/server 的 executeOperation 在进程内执行 GraphQL 操作,覆盖完整 resolver 链;用 Pact 做消费者与提供方契约测试;用 MSW 在浏览器 Service Worker 层或 Node.js 网络层拦截请求,建议设置 onUnhandledRequest: 'error';用 Zod 定义一次 schema 并在生产代码与测试中共享,支持 strict() 模式避免多余字段漏检。

适用场景:业务逻辑以集成测试为主、纯转换逻辑用单元测试、服务边界用契约测试、仅关键 happy path 用端到端测试。

限制与注意事项:资料未提供具体收费、价格、平台支持范围与安装步骤,仅提到可通过 npx skills add AbsolutelySkilled/AbsolutelySkilled --skill <name> 安装配套技能,并可用 ls 命令检查已装技能。需注意共享测试数据库状态会引发不稳定测试,应使用事务回滚或在 beforeEach/afterEach 中清理;Supertest 不启动真实服务器但会共享应用状态,需重置连接池与缓存;Pact 消费者测试通过不代表提供方通过,两者都需在 CI 运行;toMatchObject 为部分匹配,可能漏过多余字段。