integration-tests について
integration-tests は、ローカル npm レジストリを必要とする統合テストを実行するスキルです。Verdaccio の起動からビルド、リセット、公開、テストまでの手順と、終了後の停止を案内します。
主な機能
- 01ローカル Verdaccio の起動
- 02ビルド、リセット、公開の実行
- 03統合テストスイートの実行
- 04ストレージマウントのテスト有効化
- 05レジストリプロセスの後処理
- 06結果とエラーの要約
活用シーン
- 01ローカル公開後のパッケージ導入確認
- 02ローカルレジストリが必要な統合テスト
- 03ストレージマウント統合テストの確認
- 04公開またはテスト工程の失敗調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ openai/ openai-agents-js --skill integration-testsインストール後、Claude Code で/integration-testsを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
統合テスト
概要
バックグラウンドのサブプロセスで pnpm local-npm:start を起動し、メインプロセスでビルド/リセット/公開/テストのパイプラインを実行した後、レジストリプロセスを正常に終了して結果を返すことで、ローカル npm レジストリを必要とする統合テストを実行します。
ワークフロー
Codex の実行環境
- Codex がこのスキルを呼び出す場合、デフォルトでは
pnpm local-npm:startとメインパイプラインの両方を Codex サンドボックスの外で実行してください(sandbox_permissions=require_escalated)。統合テストスイートは、フィクスチャプロジェクト内でnpm install、bun install、Deno、Wrangler、ローカルエミュレーター、Docker などを使って依存関係をインストールし、その他のサブプロセスも実行します。Codex サンドボックス内で実行すると、~/.npm/_cacache/tmpへの書き込み時にnpmでEPERMが発生したり、一時ディレクトリへの書き込み時に Bun でPermissionDeniedが発生したりするなど、環境に起因する失敗が起きる可能性があります。 - ユーザーが明示的に希望した場合に限り、サンドボックス内で実行してください。サンドボックス内で依存関係のインストールや一時ディレクトリ/キャッシュへの書き込み時に失敗した場合は、その失敗をリポジトリに起因するものと判断する前に、同じパイプラインをそのままサンドボックスの外で再実行してください。
- それでもレジストリのライフサイクルは実行中に限定してください。パイプラインの前に Verdaccio を起動し、失敗した場合も含め、パイプラインの後に停止してください。
1. ローカルレジストリを起動する(サブプロセス)
pnpm local-npm:startでバックグラウンドプロセスを起動し、後で停止できるようにセッション ID を保持します。- レジストリの準備が完了するまで待ちます(Verdaccio の起動メッセージ、またはデフォルトの
http://localhost:4873の行を確認します)。準備完了を示す明示的な行が表示されない場合は、数秒待ってから続行します。 - ポートがすでに使用中の場合は、既存のレジストリが実行中の可能性があることを記録し、想定されるローカルレジストリと一致する場合に限って続行します。一致しない場合は停止して再起動します。
2. メインパイプラインを実行する(メインプロセス)
メインプロセスで次の順序を正確に実行し、出力を取得します。
pnpm i && pnpm build:ci && pnpm local-npm:reset && pnpm local-npm:publish && OPENAI_AGENTS_RUN_STORAGE_MOUNT_INTEGRATION=1 pnpm test:integration
-
GitHub Actions で現在使用されているのと同じシリアライズされたビルドパスをこのスキルで検証しつつ、通常の
prebuildおよびpostbuildライフサイクル手順も実行するため、ここではpnpm build:ciを使用してください。 -
このスキルの実行時に、任意のサンドボックスストレージマウントのテスト範囲がデフォルトで実行されるよう、
OPENAI_AGENTS_RUN_STORAGE_MOUNT_INTEGRATION=1を設定してpnpm test:integrationを実行してください。これにより、リポジトリの通常のpnpm test:integrationのデフォルトを変更せずに、ローカルの Azurite および MinIO のスモークテストが有効になります。 -
成功または失敗の結果全体と、結果の簡潔な要約を返してください。
-
pnpm test:integrationの標準出力/標準エラー出力は必ず取得し、最終回答にフェンス付きコードブロックで含めてください(非常に長い場合は、明らかなノイズを省いてください)。 -
ウォッチモードは使用しないでください。
pnpm local-npm:publish が失敗した場合
正規の復旧手順が記載されている integration-tests/README.md を使ってトラブルシューティングしてください。時間がない場合は、記載されている順序で修正を優先し、正確なエラーテキストを回答に示してください。
3. レジストリプロセスをクリーンアップする
- レジストリのサブプロセスに Ctrl+C を送信し、終了するまで待ちます。
- 終了しない場合は PID を指定して強制終了し、完了前にポートが解放されたことを確認します。
出力に関する要件
- 統合テストの結果は必ず回答に含めてください。
- 手順が失敗した場合は、失敗したコマンド、エラー出力の要約、および次に推奨する対応を含めてください。