- 完全なテスト キット (スイート、ライブ、Docker): テスト-
pnpm test:force: デフォルトの制御ポートを保持している残留ゲートウェイ プロセスを強制終了し、分離されたゲートウェイ ポートを使用して完全な Vitest スイートを実行するため、サーバー テストは実行中のインスタンスと衝突しません。以前のゲートウェイ実行によりポート 18789 が占有されたままになっている場合にこれを使用します。 pnpm test:coverage: V8 をカバーするユニット スイートを実行します (vitest.unit.config.ts経由)。グローバルしきい値は 70% の行/分岐/関数/ステートメントです。ターゲットを単体テスト可能なロジックに集中させるため、統合の重要なエントリポイント (CLI 配線、ゲートウェイ/テレグラム ブリッジ、Web チャット静的サーバー) はカバーされません。- ノード 24+ の
pnpm test: OpenClaw は VitestvmForksを自動無効にし、forksを使用してERR_VM_MODULE_LINK_FAILURE/module is already linkedを回避します。OPENCLAW_TEST_VM_FORKS=0|1を使用して動作を強制できます。 pnpm test: 迅速なローカル フィードバックのために、デフォルトで高速コア ユニット レーンを実行します。pnpm test:channels: チャネル負荷の高いスイートを実行します。pnpm test:extensions: 拡張機能/プラグイン スイートを実行します。- ゲートウェイ統合:
OPENCLAW_TEST_INCLUDE_GATEWAY=1 pnpm testまたはpnpm test:gateway経由でオプトインします。 pnpm test:e2e: ゲートウェイのエンドツーエンドのスモーク テストを実行します (マルチインスタンス WS/HTTP/ノード ペアリング)。デフォルトはvmForks+vitest.e2e.config.tsのアダプティブ ワーカーです。OPENCLAW_E2E_WORKERS=<n>で調整し、詳細ログ用にOPENCLAW_E2E_VERBOSE=1を設定します。-pnpm test:live: プロバイダーのライブ テスト (minimax/zai) を実行します。スキップを解除するには、API キーとLIVE=1(またはプロバイダー固有の*_LIVE_TEST=1) が必要です。
ローカル PR ゲート
ローカル PR ランド/ゲート チェックの場合は、次を実行します。pnpm checkpnpm buildpnpm testpnpm check:docs
pnpm test が不安定になった場合は、回帰として扱う前に 1 回再実行し、pnpm vitest run <path/to/test> で分離します。メモリに制約のあるホストの場合は、次を使用します。
OPENCLAW_TEST_PROFILE=low OPENCLAW_TEST_SERIAL_GATEWAY=1 pnpm test
モデル レイテンシ ベンチ (ローカル キー)
スクリプト:scripts/bench-model.ts
使用法:
source ~/.profile && pnpm tsx scripts/bench-model.ts --runs 10- オプションの環境:
MINIMAX_API_KEY、MINIMAX_BASE_URL、MINIMAX_MODEL、ANTHROPIC_API_KEY - デフォルトのプロンプト: 「一言で返信してください: ok。句読点や余分なテキストは不要です。」
- ミニマックス中央値 1279 ミリ秒 (最小 1114、最大 2431)
- 作品の中央値 2454 ミリ秒 (最小 1224、最大 3170)
CLI 起動ベンチ
スクリプト:scripts/bench-cli-startup.ts
使用法:
pnpm tsx scripts/bench-cli-startup.tspnpm tsx scripts/bench-cli-startup.ts --runs 12pnpm tsx scripts/bench-cli-startup.ts --entry dist/entry.js --timeout-ms 45000
--version--helphealth --jsonstatus --jsonstatus