外部 API からデータを取得する次のフローがあり、MUnit テストの実行時にテスト環境からこのデータをコンシュームする必要があるとします。
<http:request-config name="HTTP_Request_configuration">
<http:request-connection host="sampleapi.com/api/v1/" port="80"/>
</http:request-config>
<flow name="requestApiFlow">
<http:request method="GET" config-ref="HTTP_Request_configuration" path="/employee"/>
</flow>
MUnit テストの実行時に QA API エンドポイントからデータをコンシュームする手順は次のとおりです。
-
検証を実行する各環境のプロパティファイルに HTTP 設定値を抽出します。それらのプロパティファイルは、
src/main/resources に置く必要があります。prod.propertieshttp.host=dummy.restapiexample.com/api/v1/ http.port=80qa.propertieshttp.host=dummy.qax.restapiexample.com/api/v1/ http.port=8081環境ごとにプロパティファイルを設定できます。
-
以前作成したファイルから環境プロパティを読み込むには、設定ファイルの
configuration-properties グローバル設定を使用します。<configuration-properties file="${mule-env}.properties"/> -
HTTP 設定をプロパティファイル内で定義された変数に一致するプレースホルダーに置き換えます。
<http:request-config name="HTTP_Request_configuration"> <http:request-connection host="${http.host}" port="${http.port}"/> </http:request-config> <flow name="requestApiFlow"> <http:request method="GET" config-ref="HTTP_Request_configuration" path="/employee"/> </flow> -
MUnit Maven プラグインで環境変数を定義します。
<configuration> ... <environmentVariables> <mule-env>qa</mule-env> </environmentVariables> ... </configuration>MUnit テストの実行中、MUnit は
qa プロパティファイルからプロパティを読み込み、テスト環境に接続します。