SuperAPI AI 工具集

openclaw-docker-e2e-authoring

测试与质量

查看项目

更新于 10-15 12:27

技能介绍

用途

OpenClaw Docker E2E Authoring 用于在新增或修改以下内容时提供指导:

  • Docker E2E 通道(lanes)
  • 发布路径 Docker 测试
  • 实时提供商(live provider)Docker 验证

通道选择

确定性 Docker(Deterministic Docker):伪造依赖/服务器,断言跨越边界的精确运行时契约。

实时 Docker(Live Docker):仅当需要真实用户可见行为时,使用真实提供商凭据/模型。

当两者证明不同风险时优先同时使用:确定性通道用于字节/载荷路由,实时通道用于实际提供商行为。

编写规则

  • 仅测试使用的辅助工具应放在 test/helpers 或 scripts/e2e/lib/<lane>/ 中,不要放在 src/**,除非生产代码会导入它们。
  • 通过包安装的应用从 /app 运行;仅以只读方式挂载明确的测试工具/辅助路径。
  • 伪造服务器应以 JSONL 记录边界请求,客户端应断言真实的依赖载荷,而不仅仅是进程成功。
  • 在同一次变更中添加包脚本与 scripts/lib/docker-e2e-scenarios.mjs 通道。
  • 如果某个通道从 npm 安装插件,应通过环境变量设置默认 spec,使已发布路径与本地覆盖路径都可测试。

媒体与视觉

  • 预期答案必须只存在于被测试的像素或提供商输出中。
  • 使用中性文件名、中性提示词,不泄露元数据。
  • 随机位图/OCR token 复用仓库的 OCR 安全字母表 24567ACEF,除非测试自身拥有更强的字形集。
  • 在验证真实图像理解时,使每次运行的预期答案唯一。

chat.send E2E

  • 要求 chat.send 返回 status: "started" 以及字符串 runId。
  • 使用 agent.wait 等待完成。
  • 当事件顺序不是被测行为时,通过 chat.history 断言最终用户可见文本。
  • 仅当 bug 路径需要排队入站/通道上下文时,才保留来源通道/账户元数据。

验证

运行覆盖所改动通道的最小证明:

pnpm exec oxfmt --write <changed files>
node --check <new .mjs files>
bash -n <new .sh files>
node scripts/run-vitest.mjs test/scripts/docker-e2e-plan.test.ts
OPENCLAW_SKIP_DOCKER_BUILD=1 pnpm test:docker:<lane>

对于真实提供商通道,在确定性 Docker 通过后运行对应的实时 Docker 脚本。在提交/PR 前以 $autoreview 收尾。