問題タブ [xmlunit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - XMLUnit は等しいと主張する XML は等しくない
私の JUnit テストでは、予想される XML ファイルと、パーサーが作成した仮想ドキュメントを比較します。
問題は次のとおりです。XML ファイルが等しい (または最終的に類似している) 場合でも、アサーションは失敗します。XML ファイルは次のようになります。
そしてもう1つは:
つまり、属性の順序が異なります。XMLUnit.setIgnoreAttributeOrder(true)
私はすでにと を試しXMLUnit.setNormalize(true)
ましたが、役に立ちませんでした。
テストが失敗したときに表示されるメッセージは次のとおりです。
私も試しました:
しかし、違いは似ていないと主張しています。では、これら 2 つの XML ドキュメントを正しく比較するにはどうすればよいでしょうか。
junit - XMLUnit を Eclipse で動作させるには?
以下のスクリーンショットでわかるように、Eclipse に JUnit (junit-4.11.jar) をインストールしましたが、XMLUnit を機能させる方法がわかりません。誰か助けてくれませんか?
ご覧のとおり、XMLUnit の Web サイトから .zip (xmlunit-0.4.zip) をダウンロードし、Eclipse のパスにロードしましたが、以下に示すように、Eclipse は XMLTestCase 拡張子を認識しません。
どんな助けでも非常に役に立ちます。
java - 同じタグ名の要素が複数あると、XMLUnit の ElementQualifier が混乱する
以下の 2 つの XML を比較しようとしています...類似性テストを行っています。
XML1
<top>
<first>true</first> <!--- control node 1 ---->
<second> <!--- control node 2 ---->
<secondpart1>ooo</secondpart1>
</second>
<third> <!--- control node 3 ---->
<thirdpart1>zzzz</thirdpar1>
</third>
<third> <!--- control node 4 ---->
<thirdpart1>zzzz</thirdpar1>
<thirdpart2>zzzz</thirdpar2>
</third>
</top>
XML2
<top>
<second> <!--- test node 1 ---->
<secondpart1>ooo</secondpart1>
</second>
<third> <!--- test node 2 ---->
<thirdpart1>zzzz</thirdpar1>
</third>
<third> <!--- test node 3 ---->
<thirdpart1>zzzz</thirdpar1>
<thirdpart2>zzzz</thirdpar2>
</third>
<first>true</first> <!--- test node 4 ---->
</top>
このエラーが発生します
[別] 予想される子ノードの数は '1' でしたが、'2' でした。制御ノード 3 とテスト ノード 3 を比較しているようです。そして、要素の名前が「3 番目」と一致するため、比較を行います。この種の状況を回避する方法はありますか?
これは私のコードです
java - XMLUnit を使用して 2 つの XML ファイルを読み取る方法
私はXMLが初めてです。多くの検索の後、XMLUnitでそれを行うことがわかりましたが、問題は次のとおりです。xmlファイルの内容を単純な文字列テキストに変更してコードを実行しようとすると、junitテストで緑色が表示されます例外をスローしていますが、これはすべきではありませんが、私の要件は、ファイルが適切なxml形式でなくても信号が赤であることです.これまでの私の作業を囲みます.
java - XML ファイルの比較時に xs:float (およびその他の型) 表現の違いを無視する
JUnitテストにXMLUnitを使用していますが、特定の型の代替 (ただし同等の) レンダリングに関連する違いを無視するように構成したいと考えています。たとえば、フィールドの場合。完全なソリューションでは、テストが XSD 対応である必要があると思います。これにより、各フィールドのタイプが認識され、すべてのケースで微妙な比較が行われます (例: / forおよびおそらくデフォルトの属性値まで説明することさえあります)。いずれにせよ、これらの誤報なしにテストを実行できるように、回避策を喜んで受け入れます。3.14
3.140
xs:float
true
1
xs:boolean
SSCCE (簡単に再現できるように JUnit 機構なし) を以下に示します。
xml - 類似の XML を false として表示する XML ユニット
順序が異なるため、これら 2 つの類似した XML の比較は失敗します。どんな助け/ガイダンスでも、彼は高く評価します。
groovy - 2 つのフォルダーから複数の xml ファイルを一度に 1 つずつ読み取り、xmlunit 比較メソッドを適用する Groovy スクリプト
以下のように、一連のxmlファイルを2つの別々のフォルダーに配置しています。私の目的は、両方のフォルダーから一度に各ファイルを 1 つずつ読み取り、xmlunit 比較メソッドを適用することです。
Folder1 : actual1.xml actual2.xml actual3.xml
Folder2 : compare1.xml compare2.xml compare3.xml
Part1: 以下のスクリプトを使用して、両方のフォルダーから一度に各ファイルを読み込んでいます。これを行うためのより簡単な方法があれば、提案を歓迎します
log.info "**********Read files from Folder2************"
その2: 配列xml_file1とxml_file2に含まれるxmlファイルの組み合わせごとに比較を行うスクリプト。
各xmlファイルが文字列に保持されている場合、以下のスクリプトは単一のファイルに対して機能するため、実際にはこの部分で立ち往生していますが、比較する一連のxmlファイルがあるため、引数として配列を渡す必要があります。実行時エラー - groovy.lang.GroovyRuntimeException: Could not find matching constructor for: java.io.FileInputStream(java.util.ArrayList) error at line: 60 が発生します
誰かが比較中に空のタグを無視する方法を手伝ってくれませんか? ありがとう
java - 出力メッセージをカスタマイズする xmlunit を使用した XML 比較
こんにちは、xmlunit を使用して 2 つの xml ファイルの内容を比較しようとして
います。これが私の入力xml です。
参照.xml
比較.xml
ここでは、compare.xml
3 つのブック ノードがあることを確認できます。
そして、私は合計の違いを印刷しており、以下のように数えています
出力:
予想される子ノードの数は「5」ですが、「7」でした - /books[1] と /books[1] を比較しています
テキスト値 ' ' が予期されていましたが、' ' でした - /books[1]/text()[3] と /books[1]/text()[3] を比較しています
子ノード 'null' の存在が予期されていましたが、'book' でした - null と /books[1]/book[3] を比較しています
子ノード 'null' の存在が予期されていましたが、'#text' でした - null と /books[1]/text()[4] を比較しています
代わりに、変更を 1 つだけと見なし (内部の内部タグを無視して book ノードを 1 つだけ追加すると見なすため)、カスタマイズされたメッセージへの出力をカスタマイズする方法はありますか?
java - 子ノードの順序による XMLunit 比較の失敗
生成された XML ファイルを XMLunit を使用した別の例と比較していますが、ChildNodes の順序とその属性に問題があります。(LinuxとMacの世代は異なります)
これは私が試したことです:
RecursiveElementNameAndTextQualifier クラスを使用すると問題が解決する可能性があることを読みましたが、それでも機能しません。
XML 比較の失敗の例を示す画像を次に示します: (全画面表示の場合は新しいタブで開きます) c:
ご覧のとおり、両方の子ノードが反転しています
事前に TY. ファン