# ルートのテスト

利用対象...

* Cloud API Services Platform
* Cloud Data Fabric
* Data Fabric
* Data Services Platform
* ESB
* Qlik Talend Cloud Enterprise Edition
* Qlik Talend Cloud Premium Edition
* Real-Time Big Data Platform

## テストケースの作成

利用対象...

* Cloud API Services Platform
* Cloud Data Fabric
* Data Fabric
* Data Services Platform
* ESB
* Qlik Talend Cloud Enterprise Edition
* Qlik Talend Cloud Premium Edition
* Real-Time Big Data Platform

### 手順

1. Select ルートでコンポーネントcConvertBodyToとcSetbodyを選択します。選択したコンポーネントの1つを右クリックし、コンテキストメニューから[Create Test Case] (テストケースの作成)を選択します。

   ![コンテキストメニューでの\[Create Test Case\] (テストケースを作成)オプション。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/studio_di_esb-route-test_case-xml_example5.png)
2. [Create Route Test Case] (ルートテストケースを作成)ウィザードが開きます。[Name] (名前)フィールドにテストケースの名前を入力し、対応する各フィールドに目的と説明を入力します。[Next] (次へ)をクリックします。

   ![\[Create Route Test Case\] (ルートテストケースを作成)ウィザード。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/studio_di_esb-route-test_case-xml_example6.png)
3. ウィザードの[Define Test Skeleton details] (テストスケルトンの詳細を定義)ビューが開きます。以下に示すようにオプションを選択して、cDatasetをメッセージプロデューサーとして使用し、cMockを使用して結果を確認します。[Finish] (終了)をクリックします。

   ![\[Create Route Test Case\] (ルートテストケースを作成)ウィザード。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/studio_di_esb-route-test_case-xml_example7.png)
4. テストケースが作成され、デザインワークスペース内で開きます。表示は次のようになります。

   ![デザインワークスペースにあるテストケース。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/studio_di_esb-route-test_case-xml_example8.png)
5. コンポーネントの名前をデザインワークスペースに直接入力して、cMock、cConfig、cProcessorをルートに追加します。

   ![](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/studio_di_esb-route-test_case-xml_example9.png)

## テストケースの設定

利用対象...

* Cloud API Services Platform
* Cloud Data Fabric
* Data Fabric
* Data Services Platform
* ESB
* Qlik Talend Cloud Enterprise Edition
* Qlik Talend Cloud Premium Edition
* Real-Time Big Data Platform

### 手順

1. cConfigコンポーネントをダブルクリックして、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開きます。

   ![\[Basic settings\] (基本設定)ビュー。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/studio_di_esb-route-test_case-xml_example10.png)
2. [Dependencies] (依存項目)ボックスの一覧で、xmlunit-1.6.jar ([XMLUnitのウェブサイト](https://www.xmlunit.org/) (英語のみ)から取得可能)を追加します。この依存項目は、XMLメッセージをテストする時に追加する必要があります。XMLメッセージのコンテンツをスキーマに照合して検証するのに役立ちます。
3. cProcessorコンポーネントをダブルクリックし、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開きます。

   ![\[Basic settings\] (基本設定)ビュー。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/studio_di_esb-route-test_case-xml_example11.png)
4. [Import] (インポート)エリアに次のコードを入力し、外部ライブラリーをインポートします。
   ```
   import org.custommonkey.xmlunit.Diff;
                        import org.custommonkey.xmlunit.XMLUnit;
                        import java.io.FileReader;
                        import java.io.File;
   ```

   [Code] (コード)エリアに次のコードを入力し、受信したXMLファイルとターゲットXMLファイルを比較します。結果として、identicalまたはdifferentが返されます。
   ```
   String in_xml = exchange.getIn().getBody(String.class);
                        
                        FileReader reference_file1_reader = new FileReader(new File(context.reference_file1));
                        
                        Diff diff = XMLUnit.compareXML(in_xml, reference_file1_reader);
                        
                        exchange.getIn().setBody(diff.identical() ? "identical" : "different");
   ```
5. 最初のcDatasetコンポーネントをダブルクリックして、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開きます。

   ![\[Basic settings\] (基本設定)ビュー。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/studio_di_esb-route-test_case-xml_example14.png)
6. [Arguments] (引数)テーブルに、値context.input\_file1の行が自動的に追加されました。入力を1つのメッセージとして扱うには、もう1つの行"----------------"を追加します。

   cDatasetをメッセージプロデューサーとして使用している場合、入力メッセージに複数の行が含まれていると、cDatasetの[Basic settings] (基本設定)に行区切りを追加する必要があります。cDatasetによって各メッセージが分割され、テストが正しく処理されるように、行区切りは入力ファイル内の分割行と同じでなければなりません。入力ファイルに複数行のメッセージが1つしかない場合でも、1つのメッセージとして処理できるように、cDatasetの[Basic settings] (基本設定)に行区切りを設定する必要があります。行区切りを指定しない場合は、入力された各行は1つのメッセージとして扱われます。
7. 最初のcMockコンポーネントをダブルクリックして、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開きます。

   ![\[Basic settings\] (基本設定)ビュー。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/studio_di_esb-route-test_case-xml_example12.png)
8. [Simulate] (シミュレーション)チェックボックスをオンにし、cProcessor\_1を選択してメッセージを生成します。
9. 2番目のcMockコンポーネントをダブルクリックして、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開きます。

   ![\[Basic settings\] (基本設定)ビュー。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/studio_di_esb-route-test_case-xml_example13.png)
10. [Validate message bodies] (メッセージボディの検証)チェックボックスをオンにし、[Use Inline Table] (インラインテーブルを使用)オプションをクリックします。[+]をクリックして[Message] (メッセージ)テーブルに1行を追加し、[Value] (値)フィールドに"identical" (同一)と入力します。
11. [Test cases] (テストケース)ビューで、左パネルで[input\_file1]をクリックし、右パネルの[File Browse] (ファイル参照)をクリックします。ここで説明した例の最初に示したXMLファイルを使用します。

    reference\_file1の場合は、予想される結果を含むXMLファイルを参照します。ファイルは以下のようになっています。
    ```
    	<Customer>
                         <Number>1</Number>
                         <FirstName>Fred</FirstName>
                         <LastName>Landis</LastName>
                         <Address>
                         <Street>Oakstreet</Street>
                         <City>Boston</City>
                         <ZIP>23320</ZIP>
                         <State>MA</State>
                         </Address>
                         </Customer>
    ```

    ![\[Test cases\] (テストケース)ビュー。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/studio_di_esb-route-test_case-xml_example15.png)

## テストケースの実行

利用対象...

* Cloud API Services Platform
* Cloud Data Fabric
* Data Fabric
* Data Services Platform
* ESB
* Qlik Talend Cloud Enterprise Edition
* Qlik Talend Cloud Premium Edition
* Real-Time Big Data Platform

### 手順

[Test Cases] (テストケース)ビューで、左パネルのテストケース名を右クリックし、コンテキストメニューから[Run TestCase] (テストケースの実行)を選択します。実行結果が右パネルに表示されます。

![\[Test cases\] (テストケース)ビュー。](https://help.qlik.com/talend/ja-JP/studio-user-guide/Resources/images/studio_di_esb-route-test_case-xml_example16.png)