mcpField
O
optimizetests

optimizetests

github.com/openclawテスト・品質393.3k161 回インストール今日更新
リポジトリ

optimizetests について

Optimize Tests は、カバレッジを保ちながら OpenClaw のテストと実行を高速化するスキルです。性能データから遅いテストを特定し、変更を検証して、所要時間と CI の状態を報告します。

主な機能

  1. 01テスト性能のボトルネックを順位付け
  2. 02時間とメモリ使用量を測定
  3. 03重いインポートやセットアップを特定
  4. 04ベンチマークと検証テストを再実行
  5. 05プロジェクトのゲートと CI を確認

活用シーン

  1. 01OpenClaw の遅いテストを特定
  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 状態、および個別の最適化が必要な残りのテストレーンを記載します。

コメント