TestSprite退出码速查清单14个AWS风格退出码含义与CI门禁防假绿技巧【免费下载链接】testsprite-cliOfficial TestSprite CLI — AI-powered automated testing from your terminal项目地址: https://gitcode.com/gh_mirrors/te/testsprite-cliTestSprite 是一个从终端驱动 AI 自动化测试的开源 CLI 工具它让 Agent 打开你的线上应用、像真实用户一样操作并定位缺陷。在 CI/CD 里它的退出码exit code就是整个流水线的门禁开关——读懂这张速查清单你就能把跑完测试变成真正可信的绿/红判定从根上杜绝假绿。本文面向新手带你5 分钟吃透 TestSprite 的退出码含义、--wait批量优先级以及 5 个防假绿的实战技巧。 为什么退出码是 CI 门禁的核心很多团队在 CI 里踩的坑不是测试失败而是测试没真正跑却被当成通过。TestSprite 借鉴了 AWS CLI 一类的风格化退出码契约每个错误类型都映射到一个固定、稳定、可预测的退出码脚本和 Agent 只需分支判断数字不用去解析人类可读的报错文本。这套契约的稳定映射定义在 src/lib/errors.ts 的exitCodeFor函数里并与后端、MCP 插件三方保持同步。 一句话记住退出码 机器契约文字 给人看的提示。只要分支写对数字就不会假绿。 14个退出码速查表下表是 TestSprite 的完整退出码清单信号码合并为一行共 14 行。收藏这一张就够了退出码含义典型原因0成功所有测试全部通过1通用失败 / 非通过状态至少一个测试 failed 或 blocked2尚未实现该子命令还没做3认证 / 缺权限API key 缺失或无效auth 家族4未找到指定的 test / run / project 不存在5校验错误 / 负载过大参数非法或分发了 0 个测试6冲突 / 前置失败 / 组织歧义已有任务在飞、组织 id 冲突7超时 / 不支持等待超--timeout或路由不支持10服务不可用后端 503会指数退避重试11限流触发速率上限可重试12积分不足非重试类需充值/升级13付费功能受限当前套餐不含该功能14客户端过旧后端要求更高版本 CLIHTTP 426129/130/143信号中断SIGHUP / SIGINT / SIGTERM 128 信号号 高频退出码逐个拆解真正在日常和 CI 里反复出现的是下面这几个0全绿只有当所有run 都通过时才会出现。这是门禁唯一认可的绿。1有失败最常见的非零退出码代表真实的测试失败。运维排查时按requestId而非退出码定位INTERNAL也归到1。3认证缺 key、key 失效、缺权限都归这里。CI 里看到3基本就是环境变量没配对。5校验 / 零测试⚠️ 这是防假绿的关键。当一次调用一个测试都没分发空项目、--filter没匹配到任何用例时也会退出5——这是故意的因为在 0 个测试上变绿的门禁比没有门禁更糟。7超时等待超--timeout默认 600s也可能是后端尚无该路由。关于认证类退出码的判断TestSprite 不维护第二份字符串列表而是直接由exitCodeFor推导auth exit 3见 src/lib/errors.ts。⚙️--wait批量任务的退出码优先级当你用test run --all --wait、批量test rerun --wait或testlist run --wait跑一整批任务时如果结果混合有的过、有的失败、有的超时进程退出码不是随便挑一个而是走一张固定优先级表3/14批量级不可重试→ 12/13按 run 不可重试→ 4/5/6按 run 错误→ 11/10可重试→ 7超时→ 1通用失败这张表定义在 src/lib/wait-exit.ts核心思想是重试也救不回来的配置问题永远压过稍后重试就行的瞬时问题。一个超出契约的退出码如0、99、泄漏的信号码会被折叠进通用失败桶既不会抢占真实判定也不会造成打印了失败却退出绿。️ CI 门禁防假绿5个实战技巧把退出码用对才是防假绿的根本。下面 5 个技巧可直接落地0只在全通过时给绿。用--wait阻塞到所有 run 终结退出码即门禁0 全过否则就是红。警惕5并善用--allow-empty。默认情况下分发 0 个测试会退出5把流水线拉红。只有当你真的预期空跑时才显式加--allow-empty放行。前后端全覆盖用测试清单testlist。test run --all只跑后端要门禁前端或跨项目把用例组进test list再testlist run id --wait避免前端被静默跳过造成的假绿。机器可读别靠眼睛。所有路径都支持--output json同一份信息进 stdout /error信封脚本分支无需抓文本。配合--report junit --report-file path和--summary-file path输出 JUnit 与机器摘要喂给任何 CI 测试报告步骤。别手搓 YAML直接脚手架。一条testsprite ci init github就能生成.github/workflows/testsprite.yml逻辑见 src/commands/ci.ts它会在跳过/部分运行时让 job 变红而不是报绿。 信号退出码129 / 130 / 143在--wait期间按 Ctrl-CSIGINT、收到 SIGTERM 或 SIGHUPCLI 会优雅断开中断在飞请求、stdout 给出部分结果、stderr 告知信号并给出test wait/test cancel续跑提示。对应的退出码遵循 POSIX 惯例128 信号号SIGHUP1、SIGINT2、SIGTERM15映射定义在 src/lib/errors.ts。⚠️ 注意普通 run 的 Ctrl-C 只是断开服务端任务继续执行且继续计费想真正取消请test cancel run-id。 相关模块与源码想深挖契约细节这几处是入口退出码映射与错误信封src/lib/errors.ts--wait批量优先级表src/lib/wait-exit.ts退出码 e2e 回归测试防契约回归test/e2e/exit-code.e2e.test.ts完整命令参考与退出码章节DOCUMENTATION.mdCI 脚手架实现src/commands/ci.ts把这张 14 行速查表贴在工位或 PR 模板里你的 TestSprite 门禁从此不再假绿。【免费下载链接】testsprite-cliOfficial TestSprite CLI — AI-powered automated testing from your terminal项目地址: https://gitcode.com/gh_mirrors/te/testsprite-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考