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 后端相关
凭据来源
测试凭据按以下优先级从这些位置获取:
~/.openclaw/credentials/(配置文件存储)- 配置文件
- 环境变量
如果 CLI 正常工作,实时测试应该能找到相同的密钥。
Docker 运行器
Docker 运行器支持在 Linux 环境中运行经过验证的实时测试:
pnpm test:docker:live-gateway
挂载配置、工作空间和 ~/.profile。
文档完整性检查
pnpm docs:list
验证文档的完整性。
离线回归测试
包括 gateway.tool-calling.mock-openai.test.ts 等模拟测试。
代理可靠性评估
当前涵盖模拟工具调用和向导流程,但缺少决策、合规性和工作流契约覆盖。
添加回归测试指南
添加回归测试时应遵循以下原则:
- 首选 CI 安全的模拟测试
- 仅在必要时使用窄范围的实时测试选项
提示
当您只需要一个失败案例时,建议使用上述描述的白名单环境变量来缩小实时测试范围。