---
schema_version: "1"
id: f404dc962e1395a89d6966ac64f7eae61e02161d8cf102b461862e33755c240f
title: ドメインベースのアプリケーションのテスト
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/munit/2.3/domain-based-application-cookbook.md
canonical_url: https://docs.mulesoft.com/jp/munit/2.3/domain-based-application-cookbook
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 7e161959c2009e4277ad4e20823f2c272635f41dc9b32669087cf6996e1b135f
description: MuleSoft Documentation Site
release: "2.3"
latest: false
---
# ドメインベースのアプリケーションのテスト

MUnit 2.x では、追加の設定を実行せずに、Mule ドメインとリソースを共有する Mule アプリケーション用の MUnit テストスイートを作成できます。このしくみを理解するには、実際の値が入力された特定のシナリオを考慮し、そのテストの作成方法が示された手順でそれらの値を使用すると役立ちます。

## [](#テストするドメインベースの-mule-アプリケーション例)テストするドメインベースの Mule アプリケーション例

`domain-config`​ という Mule ドメインについて考えます。このドメインは、その内部のすべての Mule アプリケーションの HTTP リスナーのグローバル設定を定義します。

##### Studio ビジュアルエディター

![domain munit example](/mulesoft/current/ja-jp/munit/2.3/_images/domain-munit-example.png)

##### XML エディター

Mule ドメイン

```XML
<domain:mule-domain ...>

<http:listener-config name="HTTP_Listener_config_domain" basePath="/" >
  <http:listener-connection host="0.0.0.0" port="8081" />
</http:listener-config>


</domain:mule-domain>
```

Mule ドメイン pom.xml ファイル

```XML
<groupId>com.mycompany</groupId>
<artifactId>domain-config</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>mule-domain</packaging>
<name>domain-config</name>
```

ping されているパスを返す基本的な Mule アプリケーションについても考えます。

##### Studio ビジュアルエディター

![mule app domain listener](/mulesoft/current/ja-jp/munit/2.3/_images/mule-app-domain-listener.png)

このアプリケーションは HTTP リスナーグローバル設定をその Mule ドメイン (​`HTTP_Listener_config_domain`​) から継承するため、HTTP リスナーグローバル設定は定義しません。

![mule app domain set payload](/mulesoft/current/ja-jp/munit/2.3/_images/mule-app-domain-set-payload.png)

##### XML エディター

```XML
<mule ...>

  <flow name="application-aFlow">
        <http:listener  config-ref="HTTP_Listener_config_domain" path="/api"/>
        <set-payload value='#["You reached " ++ message.attributes.listenerPath]'/>
  </flow>

</mule>
```

このアプリケーションは ​`http:listener-config`​ グローバル要素をその Mule ドメイン (​`HTTP_Listener_config_domain`​) から継承するため、グローバル要素は定義しません。アプリケーションはその ​`pom.xml`​ ファイル内でドメインの連動関係を宣言します。

```XML
<dependencies>
...
  <dependency>
    <groupId>com.mycompany</groupId>
    <artifactId>domain-config</artifactId>
    <version>1.0.0</version>
    <classifier>mule-domain</classifier>
    <scope>provided</scope>
  </dependency>
...
</dependencies>
```

## [](#ドメインベースのアプリケーション例の-munit-テストの作成)ドメインベースのアプリケーション例の MUnit テストの作成

Mule ドメインは Mule アプリケーションと連動関係にあるため、MUnit は Mule ドメインを起動して、テスト対象のアプリケーションに必要なグローバル要素設定を取得できます。

ping されているパスが実際に期待される ​`/api`​ パスであることを検証する MUnit テストを考えてみます。

##### Studio ビジュアルエディター

![munit domain sample](/mulesoft/current/ja-jp/munit/2.3/_images/munit-domain-sample.png)

1. `execution`​ スコープ内で、HTTP リクエスターが ​`GET`​ 要求をアプリケーションのエンドポイントに送信します。
2. `validation`​ スコープ内で、予想される応答に対する ​`execution`​ スコープからの応答をアサートする Assert Equals プロセッサーをセットアップします。
3. 応答を予想されるテキストと比較するには、ペイロードをプレーンテキストに変換する必要があります。

##### XML エディター

```XML
<mule ...>

  <munit:config name="application-a-test-suite.xml" />

  <http:request-config name="HTTP_Request_configuration" basePath="/api">
    <http:request-connection host="0.0.0.0" port="8081" />
  </http:request-config>

  <munit:test name="application-a-test-suite-application-aFlowTest" description="Test to validate the path being called">

  <munit:enable-flow-sources >
    <munit:enable-flow-source value="application-aFlow" />
  </munit:enable-flow-sources>

  <munit:execution>
    <http:request config-ref="HTTP_Request_configuration" method="GET"/> (1)
  </munit:execution>

  <munit:validation>
    <munit-tools:assert-equals (2)
        actual="#[output text/plain --- payload]" (3)
        expected='#["You reached /api"]'/>
  </munit:validation>

</munit:test>
```

1. `execution`​ スコープ内で、HTTP リクエスターが ​`GET`​ 要求をアプリケーションのエンドポイントに送信します。
2. `validation`​ スコープ内で、予想される応答に対する ​`execution`​ スコープからの応答をアサートする ​`assert-equals`​ プロセッサーをセットアップすることにします。
3. 応答を予想されるテキストと比較するには、ペイロードをプレーンテキストに変換する必要があります。