跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

api-tester

依据真实 OpenAPI、路由实现和现有测试生成并验证 API 测试。用于用户要求测试接口、补集成测试、验证 API 契约、生成回归用例或排查接口兼容性时;区分“生成测试”和“执行请求”的授权,不猜测状态码、响应结构或 SLA,不在未确认环境中发送写请求。

AI 与智能体879skills/api-tester/SKILL.md

安装

把这段话发给 Claude Code、Codex 或 Cursor。智能体会先检查安全性,你确认后才安装。

读取 https://funcoding.ai/skills/laolaoshiren/claude-code-skills-zh/api-tester/install.md ,按里面的步骤帮我安装这个 Skill。

SKILL.md

API 测试助手

核心原则

  • 只把可核验的 OpenAPI、代码、类型、调用方或现有测试当作契约证据。
  • 生成测试不等于执行测试;读取接口定义不等于可以访问真实服务。
  • 保护现有数据、凭据和用户修改,优先使用隔离且可清理的测试环境。

工作流程

1. 读取项目与接口证据

先读取适用的仓库规则、测试说明、Git 状态和项目脚本,再按实际存在情况检查:

  • OpenAPI / Swagger 文件及其引用的 Schema。
  • 路由、controller、handler、DTO、验证器和错误处理中间件。
  • 客户端类型、调用方、公开文档和现有 API 测试。
  • 测试配置、fixture、认证方式、环境变量模板和数据清理机制。

记录规范、实现与现有测试之间的不一致。无法确定哪个行为才是期望契约时,列出证据并请求确认,不用新测试固化猜测。

2. 建立契约矩阵

为目标 endpoint 记录:

项目证据
method 与 pathOpenAPI 或路由位置
认证与权限security scheme、中间件或调用方
请求参数与约束Schema、DTO 或验证器
已声明响应状态码、响应结构与 header
副作用与幂等性实现、文档或调用链
测试环境与清理fixture、事务或 teardown

不要默认每个接口都应返回 400、401、403、404、422 或 500。只有契约已声明或代码路径真实可达时才生成对应断言。

3. 明确环境与授权

在执行任何请求前确认:

  • Base URL、环境归属以及是否为 local、test、staging 或 production。
  • 测试账号、权限范围和凭据来源。
  • 是否允许执行 POST、PUT、PATCH、DELETE、上传、支付、通知等有副作用操作。
  • 测试数据隔离、唯一标识、清理或事务回滚方案。

用户只要求“生成测试”时只产出代码。生产环境、共享 staging、第三方服务及任何可能改变真实数据的执行都必须获得明确授权。GET 也不能仅凭 method 判定无副作用。

4. 选择项目锁定的工具

  • 优先运行仓库已有的 test、OpenAPI lint 或 contract test script。
  • 读取 package manager、lockfile 和已安装版本后再选择命令。
  • 不用裸 npx、全局工具或临时下载的最新版解析规范。
  • 缺少依赖时先报告;安装工具、更新 lockfile 或修改测试配置需要单独授权。
  • 使用真正的 YAML / JSON / OpenAPI 解析器,不用 grep 推断嵌套 Schema。

5. 设计有依据的用例

按目标契约选择必要场景:

  • 成功路径:使用最小合法输入验证状态、结构和关键语义。
  • 边界路径:只测试 Schema 或实现中真实存在的长度、范围、枚举、格式和必填约束。
  • 认证与权限:只覆盖已声明的身份、角色和资源归属规则。
  • 失败与回归:覆盖可达错误路径、已知缺陷或兼容性要求。
  • 幂等、分页、并发、重试与超时:仅在接口契约包含这些语义时测试。

断言外部可观察行为,避免绑定内部函数调用。随机数据应固定 seed,并避免真实个人信息、客户数据和生产标识。

6. 实现最小测试

  • 沿用项目现有框架、目录、fixture、命名和断言风格。
  • 单元测试可隔离网络、时间和第三方服务;集成测试使用受控服务或临时资源。
  • 对写操作使用唯一数据,并在成功、失败和中断路径都执行清理。
  • 不为让测试通过而擅自修改生产代码、接口规范或认证配置。
  • 使用跨平台路径和项目脚本;平台专属命令需说明 Windows / Linux 适用范围。

7. 执行与复验

  1. 先检查命令是否会下载依赖、访问外部服务或改变共享状态。
  2. 运行最小目标测试,记录命令、环境、退出状态和真实响应摘要。
  3. 按风险运行相关测试、类型检查或完整测试。
  4. 检查 Git diff 和环境状态,确认没有残留测试数据、快照、日志、Token 或无关生成物。
  5. 将基线已有失败与本轮新增失败分开报告。

没有实际运行时,只能说明“已生成、未验证”。没有明确 SLA 和受控测量条件时,不添加固定耗时断言或声称性能达标。

安全边界

  • 不在命令、日志、fixture 或报告中写入真实 Token、Cookie、密码和个人数据。
  • 未经明确授权,不访问生产环境、真实客户账号、付费 API 或受监管系统。
  • 压测、模糊测试、大批量数据生成和安全探测需要单独授权及限流方案。
  • 遇到权限不足、环境不明、清理方案缺失或响应可能含敏感信息时停止执行并报告。

输出

## API 测试结果

- 目标接口与契约证据:
- 环境与授权范围:
- 新增或修改文件:

## 用例

| 场景 | 契约依据 | 是否执行 | 结果 |
|------|----------|----------|------|

## 验证

- 实际命令与退出状态:
- 数据清理:
- 基线已有失败:
- 未确认契约与限制:

相似的 Skill

brand-guidelines
anthropics/skills180k

brand-guidelines

Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.

AI 与智能体

internal-comms
anthropics/skills180k

internal-comms

A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).

AI 与智能体

template-skill
anthropics/skills180k

template-skill

Replace with description of the skill and when Claude should use it.

AI 与智能体

mcp-builder
anthropics/skills180k

mcp-builder

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).

AI 与智能体

algorithmic-art
anthropics/skills180k

algorithmic-art

Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.

AI 与智能体

academy-guide
anthropics/skills180k

academy-guide

Stop and check this skill before finishing any reply to a question about how to use Claude or a Claude product — it recommends matching courses, tutorials, and use cases from Claude Academy (academy.claude.com), Anthropic's learning hub. Trigger on: "how do I", "how can I", "getting started with", "what can Claude do", "teach me", "learn to use"; questions about artifacts, projects, skills, plugins, connectors, MCP; requests about rolling Claude out to a team, class, or organization; and any ask for training materials, onboarding content, or learning resources. Use it when the user is learning how to use a feature or product — not when they are mid-task and just want the task done. This skill composes with other skills: after consulting product documentation to answer how a Claude feature works, also check here for a matching course or tutorial — a docs-grounded answer and an Academy recommendation belong together. Only recommend on a strong match; never invent Academy content.

AI 与智能体