WireMock
IntelliJ IDEA は、HTTP サービスをスタブするためのツールである WireMock のサポートを提供します。 スタブには、実際のサーバー通信を必要とせずに実際の API 動作を模倣するスタブの作成または API 呼び出しへの応答の設定が含まれます。
WireMock プラグインをインストールする。
この機能は、インストールして有効にする必要がある WireMock(英語) プラグインに依存しています。
Ctrl+Alt+S を押して設定を開き、 を選択します。
Marketplace タブを開き、 WireMock プラグインを見つけて、 インストール をクリックします (プロンプトが表示されたら、IDE を再起動します)。
WireMock スタブを作成する
基本的な WireMock スタブをゼロから作成する
JSON ファイルが マッピング フォルダーに配置されているか、 "mappings" キーが含まれている場合、IntelliJ IDEA はそれを WireMock スタブファイルとして認識し、適切なコーディング支援を提供します。
プロジェクト ツールウィンドウで、フォルダーを右クリック (または Alt+Insert を押す) して、 を選択します。
開いた 新規ファイル ダイアログで、ファイルの名前を入力します。 例:
mappings/my-stub.jsonと入力すると、IntelliJ IDEA によって マッピング フォルダーが作成され、その中に新しいファイルが配置されます。キーの入力を開始すると、該当するキーの提案とその簡単なドキュメントが表示されます。

エンドポイントツールウィンドウから WireMock スタブを作成する
エンドポイント ツールウィンドウ( )を開きます。
エンドポイントを右クリックし、 WireMock スタブを生成する を選択します。

新しいスタブファイルは、 に スクラッチとして保存されます。
OpenAPI 仕様から WireMock スタブを作成する
OpenAPI 仕様ファイルを開きます。
をクリックして WireMock スタブを生成する を選択します。

新しいスタブファイルは、 に スクラッチとして保存されます。
WireMock サーバーを実行する
スタブファイルを開きます。
エディターの右上にある
をクリックします。

これにより、WireMock サーバーが起動し、 サービス ツールウィンドウ ( または Alt+8 を押す) で実行中であることを確認できます。

IntelliJ IDEA が WireMock サーバーを起動する方法をカスタマイズするには、 WireMock 実行構成を変更するか、新しい構成を作成します。
HTTP リクエストを送信する
IntelliJ IDEA HTTP クライアントを使用して、WireMock サーバーに HTTP リクエストを送信し、応答をプレビューします。
スタブ JSON ファイルを開きます。
エンドポイント URL にキャレットを置き、 Alt+Enter (コンテキストアクションの表示) を押して、 Generate request in HTTP Client を選択します。
スタブ応答は サービス ツールウィンドウで表示できます。

Handlebars テンプレートのサポートを有効にする
IntelliJ IDEA は、WireMock レスポンステンプレートで使用されるテンプレート言語のコーディング支援を提供します。 この機能を使用するには、 Handlebars/Mustache(英語) プラグインをインストールして有効にする必要があります。
スタブ JSON ファイルを開きます。
エディターの右上部分で、
(Handlebars テンプレートを使用する) をクリックします。 Handlebars/Mustache(英語) プラグインがインストールされていない場合は、アクションによってインストールされます。
これにより、IntelliJ IDEA は __files ディレクトリに配置された JSON ファイルを応答テンプレートとして扱い、 Handlebars ヘルパー(英語)の補完を含む適切な Handlebars コーディング支援を提供します。

WireMock 実行構成
IntelliJ IDEA には専用の WireMock 実行構成が付属しており、WireMock サーバーの起動方法をカスタマイズできます。

主なパラメーター
- 名前
実行構成の名前を指定してください。
- スタブファイル
実行する WireMock スタブが含まれる JSON ファイルのロケーション。
- サーバーポート
WireMock サーバーの HTTP ポート番号です。 ポートを動的に決定するには
0を入力してください。
オプションを変更
- 詳細な出力
詳細なログを stdout に出力するには、
--verboseオプションと同等です。- すべてに Handlebars テンプレートの使用を有効にする
--global-response-templatingWiremock コマンドラインオプションを指定することで、Handlebars テンプレートを使用してすべてのレスポンス定義をレンダリングします。- JRE
JBR とは異なるランタイム環境で WireMock を実行したい場合は、JRE を選択してください。
ログ
アプリケーションの実行中に生成されるログファイルのうち、 実行ツールウィンドウの専用タブのコンソールに表示するログファイルを指定します。
起動前
選択した実行 / デバッグ構成を開始する前に実行するタスクを選択します。