15.1 测试指南

OpenClaw 使用三个 Vitest 测试套件来确保代码质量和功能正确性。

测试套件概览

1. 单元测试和集成测试

pnpm test

运行单元测试和集成测试,验证核心功能和组件集成。

2. E2E 网关冒烟测试

pnpm test:e2e

运行端到端网关冒烟测试,确保网关基本功能正常。

3. 实时提供商/模型验证

pnpm test:live

运行实时测试,验证各个提供商和模型的 API 密钥和基本响应。

实时测试层级

直接模型完成测试

通过 models.profiles.live.test.ts 验证 API 密钥和基本响应:

OPENCLAW_LIVE_MODELS=claude-3-5-sonnet-latest pnpm test:live

网关代理冒烟测试

通过 gateway-models.profiles.live.test.ts 验证完整的代理管道,包括工具探针(read、exec+read、image)和会话逻辑。

OPENCLAW_LIVE_GATEWAY_MODELS=claude-3-5-sonnet-latest pnpm test:live

环境变量

通过环境变量控制测试行为:

  • OPENCLAW_LIVE_MODELS - 指定要测试的模型
  • OPENCLAW_LIVE_GATEWAY_MODELS - 指定网关测试的模型
  • OPENCLAW_LIVE_PROVIDERS - 指定要测试的提供商
  • OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS - 要求使用配置文件密钥
  • OPENCLAW_LIVE_SETUP_TOKEN* - Anthropic 设置令牌相关
  • OPENCLAW_LIVE_CLI_BACKEND* - CLI 后端相关

凭据来源

测试凭据按以下优先级从这些位置获取:

  1. ~/.openclaw/credentials/ (配置文件存储)
  2. 配置文件
  3. 环境变量

如果 CLI 正常工作,实时测试应该能找到相同的密钥。

Docker 运行器

Docker 运行器支持在 Linux 环境中运行经过验证的实时测试:

pnpm test:docker:live-gateway

挂载配置、工作空间和 ~/.profile

文档完整性检查

pnpm docs:list

验证文档的完整性。

离线回归测试

包括 gateway.tool-calling.mock-openai.test.ts 等模拟测试。

代理可靠性评估

当前涵盖模拟工具调用和向导流程,但缺少决策、合规性和工作流契约覆盖。

添加回归测试指南

添加回归测试时应遵循以下原则:

  • 首选 CI 安全的模拟测试
  • 仅在必要时使用窄范围的实时测试选项
提示
当您只需要一个失败案例时,建议使用上述描述的白名单环境变量来缩小实时测试范围。