テスト
- 完全なテストキット(スイート、ライブ、Docker): Testing
-
pnpm test:force: 既定の制御ポートを保持している残存ゲートウェイ プロセスをすべて終了し、分離されたゲートウェイ ポートで完全な Vitest スイートを実行します。これにより、実行中のインスタンスとサーバー テストが衝突しません。以前のゲートウェイ 実行でポート 18789 が占有されたままの場合に使用します。 以前のゲートウェイが稼働していた18789ポートが占有されている場合に使用します。 以前のゲートウェイが稼働していた18789ポートが占有されている場合に使用します。 -
pnpm test:coverage: V8 カバレッジ(vitest.unit.config.ts経由)でユニットテストスイートを実行します。 グローバルしきい値は70%行/ブランチ/関数/ステートメントです。 カバレッジは、ユニットテスト可能なロジックに焦点を合わせるために、統合重量のエントリポイント (CLI 配線、ゲートウェイ/テレグラムブリッジ、ウェブチャット静的サーバー) を除外します。 -
Node 24+ での
pnpm test: OpenClaw は Vitest のvmForksを自動的に無効化し、ERR_VM_MODULE_LINK_FAILUREやmodule is already linkedを回避するためにforksを使用します。OPENCLAW_TEST_VM_FORKS=0|1で動作を強制できます。 -
pnpm test:e2e: ゲートウェイのエンドツーエンド スモークテスト(複数インスタンスの WS/HTTP/ノード ペアリング)を実行します。 既定ではvitest.e2e.config.tsのvmForks+ 適応型ワーカーが使用されます。OPENCLAW_E2E_WORKERS=<n>で調整し、詳細ログを有効にするにはOPENCLAW_E2E_VERBOSE=1を設定してください。 -
pnpm test:live: プロバイダーのライブテスト(minimax/zai)を実行します。API キーと、スキップ解除のためにLIVE=1(またはプロバイダー固有の*_LIVE_TEST=1)が必要です。 スキップを解除するにはAPIキーとLIVE=1(またはプロバイダ固有の*_LIVE_TEST=1)が必要です。 スキップを解除するにはAPIキーとLIVE=1(またはプロバイダ固有の*_LIVE_TEST=1)が必要です。
モデル レイテンシ ベンチ(ローカル キー)
スクリプト: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 - 既定のプロンプト: 「単語を 1 つだけで返信してください: ok。句読点や余分なテキストは不要です。」 句読点や追加テキストはありません。」 句読点や追加テキストはありません。」
- minimax 中央値 1279ms(最小 1114、最大 2431)
- opus 中央値 2454ms(最小 1224、最大 3170)
オンボーディング E2E(Docker)
Docker は任意です。これは、コンテナ化されたオンボーディング スモークテストにのみ必要です。 クリーンな Linux コンテナでの完全なコールドスタート フロー:openclaw health を実行します。
QR インポート スモーク(Docker)
Docker 内の Node 22+ でqrcode-terminal が読み込まれることを確認します: