SuperAPI AI 工具集

setup-sdk-testing

测试与质量

查看项目

更新于 10-16 10:22

技能介绍

用途:为 Speakeasy 生成的 SDK 搭建并运行测试,支持三种方式——契约测试、自定义 Arazzo 工作流测试、针对真实 API 的集成测试。

主要能力:通过在 gen.yaml 的 generation.tests.generateTests: true 开启契约测试,SDK 输出目录的 tests/ 下自动生成契约测试与 mock 服务器配置;可用 .speakeasy/tests.arazzo.yaml 编写多步骤 API 工作流测试,支持成功条件、环境变量($env.NAME)与链式输出;集成测试用 SDK 工厂模式针对真实 API,并附 GitHub Actions CI 示例。

使用方式:需先安装并登录 Speakeasy CLI(speakeasy auth login),并已有 gen.yaml 与 OpenAPI spec。开启测试后运行 speakeasy run --output console 重新生成,再用 speakeasy test 运行,支持 --target 指定目标、--verbose 查看详情。契约测试开启后会在 Speakeasy GitHub Actions 工作流中自动运行,无需额外 CI 配置。

适用场景:验证类型与方法符合 API 契约、测试依赖数据的链式操作、认证流程端到端测试、每次重新生成时捕获回归;建议先从契约测试开始,再加入自定义 Arazzo 测试,仅在需真实 API 验证时使用集成测试。

限制与注意:契约测试目前仅支持 TypeScript、Python、Go、Java;不要直接修改自动生成的测试文件(重新生成会被覆盖);不要硬编码密钥;集成测试避免在生产环境执行破坏性操作。ResponseValidationError 通常表示 spec 与 API 不同步,可重新生成并加 --verbose;命令未找到可执行 speakeasy update;mock 服务器启动失败或自定义 Arazzo 未运行等排查步骤详见资料。具体收费、价格与效果资料未提供。