テスト(Tests)

  • 完全なテストキット(スイート、ライブ、Docker):Testing

  • pnpm test:force:デフォルトのコントロールポートを保持している残存ゲートウェイプロセスを強制終了し、分離されたゲートウェイポートで完全な Vitest スイートを実行して、サーバーテストが実行中のインスタンスと衝突しないようにします。以前のゲートウェイ実行がポート 18789 を占有したままの場合に使用します。

  • pnpm test:coverage:V8 カバレッジで Vitest を実行します。グローバルしきい値は 70% のライン/ブランチ/関数/ステートメントです。カバレッジは、ターゲットをユニットテスト可能なロジックに集中させるため、統合が重いエントリーポイント(CLI 配線、gateway/telegram ブリッジ、webchat 静的サーバー)を除外します。

  • pnpm test:e2e:ゲートウェイのエンドツーエンドスモークテスト(マルチインスタンス WS/HTTP/node ペアリング)を実行します。

  • pnpm test:live:プロバイダーのライブテスト(minimax/zai)を実行します。API キーと LIVE=1(またはプロバイダー固有の *_LIVE_TEST=1)がスキップ解除に必要です。

モデルレイテンシーベンチマーク(ローカルキー)

スクリプト:scripts/bench-model.ts

使用方法:

  • source ~/.profile && pnpm tsx scripts/bench-model.ts --runs 10
  • オプション環境変数:MINIMAX_API_KEYMINIMAX_BASE_URLMINIMAX_MODELANTHROPIC_API_KEY
  • デフォルトプロンプト:"Reply with a single word: ok. No punctuation or extra text."

最新の実行(2025-12-31、20回実行):

  • minimax 中央値 1279ms(最小 1114、最大 2431)
  • opus 中央値 2454ms(最小 1224、最大 3170)

オンボーディング E2E(Docker)

Docker はオプションです。これはコンテナ化されたオンボーディングスモークテストにのみ必要です。

クリーンな Linux コンテナでの完全なコールドスタートフロー:

scripts/e2e/onboard-docker.sh

このスクリプトは、疑似 tty を介してインタラクティブウィザードを駆動し、config/workspace/session ファイルを検証してから、ゲートウェイを起動して openclaw health を実行します。

QR インポートスモーク(Docker)

Docker 内の Node 22+ で qrcode-terminal が読み込まれることを確認します:

pnpm test:docker:qr