关于 optimizetests
Optimize Tests 是用于提升 OpenClaw 测试和运行速度、同时保持覆盖率的 skill。它通过性能数据定位耗时测试,验证改动,并汇报用时和 CI 状态。
主要功能
- 01为测试性能热点排序
- 02测量用时和内存占用
- 03定位耗时导入和测试设置
- 04重跑基准测试及验证测试
- 05检查项目门禁和 CI
适用场景
- 01查找 OpenClaw 中的慢速测试
- 02验证测试提速改动
- 03跟踪基准测试和 CI 结果
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ openclaw/ openclaw --skill optimizetests安装后在 Claude Code 中输入/optimizetests确认已加载。
附带文件agents/openai.yaml
详细介绍
优化测试
目标:在保持覆盖率的前提下,真正提升 OpenClaw 的测试和运行速度。不要添加分片、 跳过断言、削弱门禁或将调整运行器参数作为主要修复手段。
运行手册
- 读取
docs/help/testing.md、docs/ci.md,以及你将要编辑的每个子树 作用范围内的AGENTS.md文件。 - 编辑前建立证据:
- 完整排名:
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
- 完整排名:
- 优先处理收益最高的热点:
- 热点测试中对宽泛桶文件或
importActual()的导入 - 每个测试中调用
vi.resetModules()后又重新导入 - 经重置或复用已证明行为不变的昂贵网关、服务器或客户端设置
- 断言扩展自身行为的核心测试
- 重复的夹具构建或契约断言
- 热点测试中对宽泛桶文件或
- 优先采用符合生产质量要求的修复:
- 使用范围更窄的运行时接缝,而不是宽泛的模拟
- 用于静态解析和元数据的纯辅助函数
- 注入依赖项,而不是重置模块
- 针对捆绑插件、提供商或渠道行为的扩展自有测试
- 每次更改后,重新运行相同的基准测试和验证测试通道。记录 更改前后的墙钟时间、Vitest 持续时间和最大 RSS(如果可用)。
- 运行
pnpm check:changed;如果涉及的范围需要,再运行更广泛的门禁(pnpm check、pnpm test、pnpm build)。 - 使用
scripts/committer "<conventional message>" <paths...>提交范围明确的更改。 根据要求推送。如果 CI 失败,使用gh run list/view检查、修复、推送, 重复操作,直到当前 CI 通过,或证实阻塞项与此无关。
输出
最后提供已推送的提交、更改前后耗时、已运行的 门禁、当前 CI 状态, 以及任何仍需单独优化的长尾测试通道。
评论
支持 Markdown