测试

  • 完整测试套件(套件、实时、Docker):测试

  • pnpm test:force:杀掉任何占用默认控制端口的残留 gateway 进程,然后用隔离的 gateway 端口运行完整 Vitest 套件。当之前的 gateway 运行留下了被占用的 18789 端口时使用。

  • pnpm test:coverage:用 V8 覆盖率运行单元套件(通过 vitest.unit.config.ts)。全局阈值是 70% 的行/分支/函数/语句。

  • pnpm test:默认运行快速核心单元通道。

  • pnpm test:channels:运行频道重度套件。

  • pnpm test:extensions:运行扩展/插件套件。

  • Gateway 集成:通过 OPENCLAW_TEST_INCLUDE_GATEWAY=1 pnpm testpnpm test:gateway opt-in。

  • pnpm test:e2e:运行 gateway 端到端冒烟测试。

  • pnpm test:live:运行提供商实时测试。需要 API key 和 LIVE=1

本地 PR 门控

本地 PR 着陆/门控检查:pnpm checkpnpm buildpnpm testpnpm check:docs

如果 pnpm test 在高负载主机上不稳定,重跑一次再当回归处理。内存受限主机:OPENCLAW_TEST_PROFILE=low OPENCLAW_TEST_SERIAL_GATEWAY=1 pnpm test

模型延迟基准测试

脚本:scripts/bench-model.ts

用法:source ~/.profile && pnpm tsx scripts/bench-model.ts --runs 10

CLI 启动基准测试

脚本:scripts/bench-cli-startup.ts

测试 --version--helphealth --jsonstatus --jsonstatus 命令的启动时间。

引导端到端(Docker)

全冷启动流程:scripts/e2e/onboard-docker.sh

QR 导入冒烟(Docker)

确保 qrcode-terminal 在支持的 Docker Node 运行时下加载:pnpm test:docker:qr