完全ツリー比較モジュール
完全ツリー比較モジュールを使用して、JSONやXMLファイルのようなツリー構造のデータを持つファイルを比較します。Tricentisデータ整合性はファイルサイズに制限がないため、大きなツリーを簡単に比較できます。
完全なツリー比較モジュールは、 Tosca Data IntegrityModulesAnd Samples.tsu サブセットの一部です。
比較できる内容について理解してください。
このモジュールは、階層的またはネストされたデータの違いを検出するのに役立ちます。欠落しているノードやタイプの違いを検出し、レポートすることができます。以下の項目:
-
JSONからJSONを比較することができます。これらの比較では、構造的なアライメントを確認して、文字列と数値などの値とタイプの不一致をチェックします。
-
JSONからXML。これらの比較は、両方のフォーマットの階層構造を考慮し、それがツリーにマッピングされていることを確認します。JSON にはAttributesが存在せず、Tosca は比較のためにすべての値を文字列として扱います。
-
XMLからXMLこれらの比較により、構造の整合性を確認し、値と属性の不一致がチェックされます。
この表は、比較のためのJSONファイルとXMLファイルの重要な違いを説明しています。
|
|
JSON |
XML |
|---|---|---|
|
種類 |
JSONファイルには、文字列、数値、ブール値、配列、またはオブジェクトなど、複数のデータ型が含まれる場合があります。 JSONからJSONへの比較では、構造とすべてのデータ型が一致していることが必要です。一致しない場合、Toscaはそれらを異なる型として報告します。 |
XMLファイルは文字列の型のみを許可します。 |
|
Attributes |
JSON ではAttributesを定義することはできません。 |
XML はほとんどのデータをテキストとして扱いますが、Attributesと CDATA セクションには特定のテキストを含めることができます。 |
|
データ構造 |
JSONとXMLの両方とも、データを階層的に整理します。Toscaは、欠落したターゲットノードとソースノードについて報告します。 |
|
|
値 |
ノードがソースとターゲットで同じパスとタイプを持っている場合、例えば” 1”および「 1 」などの場合、Toscaはノードの値が一致するかどうかを確認し、その結果を報告します。 |
|
ModuleAttributes
完全ツリー比較 Moduleには次のAttributesがあります。
|
ModuleAttribute |
説明 |
|---|---|
|
ソース |
ソースファイルへの絶対パスを指定してください。 |
|
ターゲット |
ターゲットファイルへの絶対パスを指定してください。 |
|
一般オプション |
比較レポートファイルへの絶対パスを指定してください。 |
例
JSONファイルとXMLファイルを比較する場合を考えましょう。
こちらがソースファイルの Source1.json で、 C:\Examples\Tree Comparison\Sources\ にあります。
{
"person": {
"name": "Alice",
"age": 30,
"contacts": [
{"contact": "alice@example.com"},
{"contact": "123-456-7890"},
"END"
]
}
}
そして、こちらがターゲットファイルの Target1.xml で、 C:\Examples\Tree Comparison\Targets\Target1.xml にあります。
<person>
<name>Alice</name>
<age>30</age>
<contacts>
<contact>alice@example.com</contact>
<contact type="phone">123-456-7890</contact>
</contacts>
</person>
二つを比較するために、以下の手順を実行します。
-
テストケースを作成し、完全なツリー比較モジュールをその上にドロップしてください。
-
ソースとターゲットの定義
-
比較レポートを保存したい場所を定義してください。この場合は、 C:\Examples\Tree Comparison\Reports です。
-
テストケースを実行してください。
Toscaにデータを読み込ませます。
Toscaは以下の方法でファイルを比較します。
-
ルート要素である人を一致させます。
-
子 ノードの名前、年齢、および連絡先を比較します。
-
JSONファイルにある連絡先配列を、XMLファイルにある連絡先要素にマッピングします。配列内の個々のオブジェクトは、XML ファイル内の連絡先要素にマッピングします。
-
JSONファイルに電話などのAttributesが欠落していると報告されます。
-
END などの追加ノードがXMLファイルに欠けていると報告されます。
XMLファイルの第二の連絡先要素から属性END と属性 type="phone" を削除すると、両方のファイルは構造と値において等しくなります。
レポートビューワーを使用して、データベースを表示し、レポートを作成することができます。