mcpField
O
optimizetests

optimizetests

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

关于 optimizetests

Optimize Tests 是用于提升 OpenClaw 测试和运行速度、同时保持覆盖率的 skill。它通过性能数据定位耗时测试,验证改动,并汇报用时和 CI 状态。

主要功能

  1. 01为测试性能热点排序
  2. 02测量用时和内存占用
  3. 03定位耗时导入和测试设置
  4. 04重跑基准测试及验证测试
  5. 05检查项目门禁和 CI

适用场景

  1. 01查找 OpenClaw 中的慢速测试
  2. 02验证测试提速改动
  3. 03跟踪基准测试和 CI 结果

安装

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

$npx skills add https://github.com/openclaw/openclaw --skill optimizetests

安装后在 Claude Code 中输入/optimizetests确认已加载。

附带文件agents/openai.yaml

详细介绍

优化测试

目标:在保持覆盖率的前提下,真正提升 OpenClaw 的测试和运行速度。不要添加分片、 跳过断言、削弱门禁或将调整运行器参数作为主要修复手段。

运行手册

  1. 读取 docs/help/testing.md、docs/ci.md,以及你将要编辑的每个子树 作用范围内的 AGENTS.md 文件。
  2. 编辑前建立证据:
    • 完整排名:pnpm test:perf:groups --full-suite --allow-failures --output .artifacts/test-perf/<name>.json
    • 目标文件:timeout 240 /usr/bin/time -l pnpm test <file> --maxWorkers=1 --reporter=verbose
    • 怀疑导入问题:添加 OPENCLAW_VITEST_IMPORT_DURATIONS=1 OPENCLAW_VITEST_PRINT_IMPORT_BREAKDOWN=1
  3. 优先处理收益最高的热点:
    • 热点测试中对宽泛桶文件或 importActual() 的导入
    • 每个测试中调用 vi.resetModules() 后又重新导入
    • 经重置或复用已证明行为不变的昂贵网关、服务器或客户端设置
    • 断言扩展自身行为的核心测试
    • 重复的夹具构建或契约断言
  4. 优先采用符合生产质量要求的修复:
    • 使用范围更窄的运行时接缝,而不是宽泛的模拟
    • 用于静态解析和元数据的纯辅助函数
    • 注入依赖项,而不是重置模块
    • 针对捆绑插件、提供商或渠道行为的扩展自有测试
  5. 每次更改后,重新运行相同的基准测试和验证测试通道。记录 更改前后的墙钟时间、Vitest 持续时间和最大 RSS(如果可用)。
  6. 运行 pnpm check:changed;如果涉及的范围需要,再运行更广泛的门禁(pnpm check、pnpm test、 pnpm build)。
  7. 使用 scripts/committer "<conventional message>" <paths...> 提交范围明确的更改。 根据要求推送。如果 CI 失败,使用 gh run list/view 检查、修复、推送, 重复操作,直到当前 CI 通过,或证实阻塞项与此无关。

输出

最后提供已推送的提交、更改前后耗时、已运行的 门禁、当前 CI 状态, 以及任何仍需单独优化的长尾测试通道。

评论

支持 Markdown