対象製品...
Cloud API Services Platform
Cloud Data Fabric
Data Fabric
Data Services Platform
ESB
MDM Platform
Real-Time Big Data Platform
手順
-
cConfigコンポーネントをダブルクリックして、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開きます。
-
[Dependencies]ボックスの一覧で、サイトhttp://www.xmlunit.org/から取得できる
xmlunit-1.6.jar
を追加します。この依存項目は、XMLメッセージをテストする時に追加する必要があります。XMLメッセージの内容をスキーマに照合して検証するのに役立ちます。 -
cProcessorコンポーネントをダブルクリックし、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開きます。
-
[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");
-
最初のcDatasetコンポーネントをダブルクリックして、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開きます。
-
[Arguments] (引数)テーブルに、値
context.input_file1
の行が自動的に追加されました。入力を1つのメッセージとして扱うには、もう1つの行"----------------"
を追加します。cDatasetをメッセージプロデューサーとして使用している場合、入力メッセージに複数の行が含まれていると、cDatasetの[Basic settings] (基本設定)に行区切りを追加する必要があります。cDatasetによって各メッセージが分割され、テストが正しく処理されるように、行区切りは入力ファイル内の分割行と同じでなければなりません。入力ファイルに複数行のメッセージが1つしかない場合でも、1つのメッセージとして処理できるように、cDatasetの[Basic settings] (基本設定)に行区切りを設定する必要があります。行区切りを指定しない場合は、入力された各行は1つのメッセージとして扱われます。 -
最初のcMockコンポーネントをダブルクリックして、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開きます。
- [Simulate] (シミュレーション)チェックボックスをオンにし、cProcessor_1を選択してメッセージを生成します。
-
2番目のcMockコンポーネントをダブルクリックして、[Component] (コンポーネント)タブで[Basic settings] (基本設定)ビューを開きます。
- [Validate message bodies] (メッセージボディの検証)チェックボックスをオンにし、[Use Inline Table] (インラインテーブルを使用)オプションをクリックします。[+]をクリックして[Message] (メッセージ)テーブルに1行を追加し、[Value] (値)フィールドに"identical" (同一)と入力します。
-
[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>