OpenClaw 有三个 Vitest 套件(单元/集成、E2E、实时)和一组 Docker 运行器。

快速启动

# 日常使用(推送前运行)
pnpm build && pnpm check && pnpm check:test-types && pnpm test
 
# 更快的本地全套运行
pnpm test:max
 
# Watch 模式
pnpm test:watch
 
# 覆盖率
pnpm test:coverage
 
# E2E 套件
pnpm test:e2e
 
# 实时套件(需要真实凭证)
pnpm test:live

测试套件说明

单元/集成(默认)

  • 命令:pnpm test
  • 文件:src/**/*.test.ts、packages/**/*.test.ts、test/**/*.test.ts
  • 范围:纯单元测试、进程内集成测试(Gateway 认证、路由、工具、解析、配置)
  • 特点:CI 运行,无需真实 Key,快速稳定

E2E(Gateway 冒烟)

  • 命令:pnpm test:e2e
  • 文件:src/**/*.e2e.test.ts
  • 范围:多实例 Gateway 端到端行为、WebSocket/HTTP 接口、节点配对
  • 特点:CI 运行,无需真实 Key

实时(真实 Provider + 真实模型)

  • 命令:pnpm test:live
  • 文件:src/**/*.live.test.ts
  • 范围:验证 Provider/模型今天是否正常工作
  • 特点:非 CI 稳定,消耗费用/速率限制,优先运行缩小的子集

选择哪个套件

场景推荐套件
编辑逻辑/测试pnpm test
触及 Gateway 网络/WS 协议/配对pnpm test:e2e
调试”我的 bot 挂了”/Provider 特定失败缩小的 pnpm test:live

Docker 运行器

pnpm test:docker:live-models      # 直接模型冒烟
pnpm test:docker:live-gateway     # Gateway + Agent 冒烟
pnpm test:docker:plugins          # 插件安装冒烟
pnpm test:docker:upgrade-survivor # 升级幸存者验证
pnpm test:docker:onboard          # Onboarding wizard 验证

QA 专项运行器

pnpm openclaw qa suite            # 在主机上运行 QA 场景
pnpm qa:lab:up                    # 启动 Docker 支持的 QA 站点
pnpm openclaw qa telegram         # Telegram 实时 QA 通道
pnpm openclaw qa matrix           # Matrix 实时 QA 通道

合约测试

pnpm test:contracts               # 所有合约
pnpm test:contracts:channels      # 渠道合约
pnpm test:contracts:plugins       # Provider 合约

文档检查

pnpm check:docs
pnpm docs:check-links:anchors

相关链接