環境プロパティを使用したテスト

外部 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 エンドポイントからデータをコンシュームする手順は次のとおりです。

  1. 検証を実行する各環境のプロパティファイルに HTTP 設定値を抽出します。それらのプロパティファイルは、​src/main/resources​ に置く必要があります。

    prod.properties
    http.host=dummy.restapiexample.com/api/v1/
    http.port=80
    qa.properties
    http.host=dummy.qax.restapiexample.com/api/v1/
    http.port=8081

    環境ごとにプロパティファイルを設定できます。

  2. 以前作成したファイルから環境プロパティを読み込むには、設定ファイルの ​configuration-properties​ グローバル設定を使用します。

     <configuration-properties file="${mule-env}.properties"/>
  3. 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>
  4. MUnit Maven プラグインで環境変数を定義します。

     <configuration>
         ...
         <environmentVariables>
             <mule-env>qa</mule-env>
         </environmentVariables>
         ...
     </configuration>

    MUnit テストの実行中、MUnit は​qa​ プロパティファイルからプロパティを読み込み、テスト環境に接続します。