1

エンティティの順序が異なる 2 つの XML ファイルを比較する必要があります。

 <root> 
  <parent1> 
   <parent2> 
     <value>1</value>  
   </parent2> 
   <parent2> 
    <value>2</value>  
   </parent2> 
  </parent1>  
  <parent1> 
   <parent2> 
     <value>3</value>  
   </parent2> 
   <parent2> 
     <value>4</value>  
   </parent2> 
  </parent1> 
</root>

上記の例のように、他の xml ファイルで 1 と 2 の位置を交換すると、テストに合格するはずです。私はdiff.overrideElementQualifier(new RecursiveElementNameAndTextQualifier())この目的で使用していますが、テストに失敗し続けています!

何が問題なのか教えてください。

4

1 に答える 1

0

RecursiveElementNameAndTextQualifierexamples非常に特定のユースケースで機能するため、パッケージから昇格したことはありません.

要素名が一致し、ネストされたテキストが同じであり、すべての子ノードもchildren として表示される順序で使用を修飾する場合にのみ、要素aと要素を比較するよう XMLUnit に指示します。bRecursiveElementNameAndTextQualifier

あなたの例では、スワップする1と、その子が厳密な順序を使用して修飾されないため2、最初の要素が修飾されなくなります。parent1

必要なのは、ElementQualifier組み込みの修飾子がまさにあなたが望むものではないため、特殊な実装です。

于 2015-02-03T17:14:28.687 に答える