mcpField
O
openclaw-docker-e2e-authoring

openclaw-docker-e2e-authoring

github.com/openclaw测试与质量393.3k290 次安装今天更新
代码仓库

关于 openclaw-docker-e2e-authoring

供 OpenClaw 贡献者编写或修改 Docker 端到端测试通道的技能,区分确定性依赖边界测试与真实提供方验证,并说明如何编写和验证两类测试。

主要功能

  1. 01选择确定性或真实 Docker 测试
  2. 02用 JSONL 日志断言边界载荷
  3. 03将测试辅助代码置于生产代码之外
  4. 04添加包脚本和场景通道
  5. 05验证 chat.send 完成状态与历史

适用场景

  1. 01添加 Docker 发布路径测试
  2. 02用伪服务验证载荷路由
  3. 03验证真实提供方行为
  4. 04通过可见历史测试 chat.send

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/openclaw/openclaw --skill openclaw-docker-e2e-authoring

安装后在 Claude Code 中输入/openclaw-docker-e2e-authoring确认已加载。

详细介绍

OpenClaw Docker E2E 编写

在添加或修改 Docker E2E 测试路径、发布路径 Docker 测试或 真实提供商 Docker 验证时,请遵循本节。

测试路径选择

  • 确定性 Docker:模拟依赖项/服务,并断言跨边界的精确运行时 契约。
  • 真实环境 Docker:仅当用户可见行为需要真实服务时,才使用提供商的 真实凭据/模型。
  • 两者证明的风险不同时,优先都覆盖:确定性环境用于字节/载荷 路由,真实环境用于提供商的实际行为。

编写规则

  • 仅测试用的辅助程序应位于 test/helpers 或 scripts/e2e/lib/<lane>/,而不是 src/**,除非生产代码会导入它们。
  • 通过包安装的应用从 /app 运行;仅以只读方式挂载明确指定的测试框架/辅助程序 路径。
  • 模拟服务应将边界请求记录为 JSONL,客户端应断言实际依赖项载荷, 而不只是进程是否成功。
  • 在同一次更改中添加包脚本和 scripts/lib/docker-e2e-scenarios.mjs 测试 路径。
  • 如果测试路径从 npm 安装插件,则通过环境变量设置默认包规格,以便已发布 路径和本地覆盖路径都可测试。

媒体与视觉

  • 预期答案必须仅存在于待测的像素或提供商输出中。
  • 使用中性文件名和中性提示词,且不得泄露元数据。
  • 随机位图/OCR 令牌应复用仓库的 OCR 安全字母表 24567ACEF,除非 测试使用更强的字形集。
  • 验证真实图像理解能力时,应确保每次运行的预期答案 唯一。

chat.send E2E

  • 要求 chat.send 返回 status: "started" 和字符串类型的 runId。
  • 使用 agent.wait 等待完成。
  • 当测试目标不是事件顺序时,通过 chat.history 断言最终用户可见 文本。
  • 仅当缺陷路径需要排队的传入消息/频道上下文时,保留来源频道/账户 元数据。

验证

运行覆盖已修改测试路径的最小验证:

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。

评论

支持 Markdown