SuperAPI AI 工具集

cherry-pr-test

测试与质量

查看项目

更新于 10-15 20:12

技能介绍

用途:这是 Cherry Studio 仓库的 PR 测试工作流,用于对某个 PR 做有边界的测试。若需在当前检出上持续开发或调试,应改用 cherry-electron-dev。

前提与安全:需要已认证的 gh、pnpm 及已安装的项目依赖;UI 控制使用 Playwright/CDP 或可选的 agent-browser。操作 Electron 前须阅读 Electron Instance Management 并选择其 ephemeral 策略,该参考是实例发现、目标选择、启动、替换、关闭、跟踪与排障的唯一依据。不得丢弃本地改动,若检出会覆盖则停止并询问;发布报告前须先展示给用户。$ARGUMENTS 可含 PR 编号、PR URL、latest/recent 或为空。

流程:1) 解析并检查 PR,未指定时列出最近 PR 让用户选择,记录当前分支,执行 gh pr view 与 gh pr checkout,阅读改动文件并记录 HEAD。2) 静态分析与启动应用,运行 pnpm typecheck,并检查被阻止或废弃的 v1/v2-refactor 文件、硬编码用户可见字符串、console.log、缺失类型;Electron 侧仅复用同一工作区且启动 HEAD 等于当前 PR HEAD 的实例,否则以隔离的 CS_DEV_USER_DATA_SUFFIX(如 PR-<NUMBER>)启动 ephemeral、agent 拥有的实例,并在 instance.json 记录终端、PID、端口、日志、目标与 pr-test:<NUMBER> 用途,禁止大范围清理进程或端口。3) 运行交互测试,控制器绑定共享参考返回的确切目标,依据 PR 描述与改动构建用例,覆盖初始状态、交互元素、改动行为、持久化状态及合理边界情况,截图与报告存于 /tmp/pr-<NUMBER>/。4) 清理与恢复,仅停止本工作流启动且仍为 ephemeral、agent 拥有、限定 pr-test:<NUMBER> 的实例,保留借用的实例,恢复检出前记录的分支。5) 报告,保存 /tmp/pr-<NUMBER>/report.md 并展示,含静态分析表、UI 测试、发现与结论(APPROVE/REQUEST_CHANGES/COMMENT)。除非用户明确要求,不得发布报告或提交 GitHub review。