用途:为 Stitch SDK 提供一套找 bug 的框架与指令,使用真实 API Key,在“黄金路径”之外探索标准功能边界与棘手场景,目标是主动打破 SDK 而非仅验证其可用。
主要能力:按覆盖面列出测试方向。根与初始化(Stitch):验证存在 STITCH_API_KEY 时单例免配置可用;向 StitchToolClient 传入空 API Key 或无效 base URL,验证首次调用以清晰的认证或连接错误失败,而不是通用噪声错误。项目生命周期(Project):验证 stitch.project('invalid-id') 不抛错(惰性实例化),但其首次调用安全失败;验证工厂创建句柄不触发 API 调用,而 project.listScreens() 等方法会触发。屏幕生命周期(Screen):验证 Project.generate() 返回的 Screen 实例属性已正确填充,无需二次请求;测试返回空数组或缺失可选字段时,SDK 以 undefined 或空数组处理而非访问 null 崩溃。设计系统(DesignSystem):创建设计系统并应用到屏幕列表,验证空或无效列表时干净失败;验证 project.designSystem('ds-id') 正确接收 projectId 并注入 ds.apply(...) 等调用。
棘手场景矩阵:过期句柄(创建屏幕、删除项目后再编辑屏幕句柄,期望 StitchError 包装的资源未找到错误);空提示(project.generate('') 或纯空白,期望安全拒绝或清晰 API 错误,代码生成不崩溃);null 上的投影(若可模拟,SDK 应用可选链返回 undefined 而非 TypeError);超大数组(向 ds.apply() 传数百个屏幕 ID,观察是否优雅处理负载上限或给出清晰信息)。
使用方式:始终用 try/catch 包裹测试调用,记录错误并检查 error.code 或 error.name 判断是 StitchError 还是原始错误;若抛出原始 TypeError 或“cannot read property of undefined”,应视为 SDK 投影逻辑的高优先级 bug。提供一段完整工作流 bash 测试模板(导入 @google/stitch-sdk、检查 STITCH_API_KEY、创建项目、空提示生成、创建设计系统、列出屏幕、对空列表应用设计系统、清理),仅作示例参考。
适用场景:对 Stitch SDK 进行质量与健壮性验证的开发者。
限制:需真实 API Key;模板中的删除项目绑定未提供,清理步骤仅为假设;其余具体 API 细节、收费与平台信息暂未提供。