用途:运行、解读并迭代 gh-manager 自测套件,指导 Claude Code 执行测试、读取结果、诊断失败并修复辅助代码。适用于被要求“运行测试”“自测”“验证插件是否可用”,或修改辅助源码后确认未破坏功能时。
主要能力:测试分三层。Tier A 为基础设施测试,无网络调用,检查二进制可用性、命令解析、14 个命令组的帮助输出、缺失必填项报错、dry-run 短路与输出结构、配置命令的 YAML 校验及缺失 PAT 报错。Tier B 为只读 API 测试,覆盖认证、速率限制、仓库发现与分类、元数据、文件、分支、PR、issue、5 个安全命令、依赖图、发布、讨论、通知、配置读取等。Tier C 为变更测试,覆盖标签、文件、分支、issue、PR、发布、配置、wiki、讨论的完整生命周期,会向测试仓库写入真实数据。
使用方式:运行全部用 bash tests/run-all.sh;按层运行用 bash tests/run-all.sh a、b、c 或 ab。需设置环境变量 export GITHUB_PAT=ghp_...(Tier B/C 必需)、export TEST_REPO=L3DigitalNet/testing(默认)、export GH_MANAGER=gh-manager。输出符号:✓ 通过、✗ 失败、○ 跳过。失败时手动运行命令查看 JSON 输出,检查 stderr,打开对应源码文件(如 helper/src/commands/issues.js)修复后重跑受影响层,再跑全部层回归。
适用场景:修改 CLI 入口或命令解析后跑 Tier A;修改数据获取或响应裁剪后跑 Tier B;修改变更命令后跑 Tier C;新增命令时按类型补充对应层测试。
限制:Tier C 仅在专用测试仓库运行,会创建带时间戳的产物,多数自动清理,但带 [Self-test] 前缀的已关闭 issue 和 PR 会累积,需手动清理。测试仓库需启用 Wiki、Discussions、Issues、Dependabot 并至少有一个 release,缺失功能导致跳过而非失败。PAT 需具备相应写权限,否则相关测试跳过或失败。测试仓库默认私有,归插件作者所有。