問題タブ [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.
c++ - C++ の XMLUnit
XMLUnit for C++ のようなものが存在するかどうかは誰にもわかりませんか? XML 出力でノード、値などを確認する簡単な方法を探しています。Visual Studio で Google テストを使用していますが、作業を容易にするライブラリであれば十分であると思います。
私は Xerces を XML パーサーとして使用していますが、XMLUnit ( http://xmlunit.sourceforge.net/ ) には、単体テストに非常に役立つ XML パーサーにラップされたいくつかの機能があります。たとえば、XPath 式、2 つの「類似した」XML を比較する関数などを使用してアサートします。
java - XML を比較するときに特定の要素を無視するにはどうすればよいですか?
次のような XML メッセージがあります。
テスト中のメソッドによって生成されたこのタイプのメッセージを、予想されるメッセージと比較したいのですが、気にしませんelementA
。したがって、上記のメッセージが次と等しいと見なされるようにしたいと思います。
XMLUnitの最新バージョンを使用しています。
答えにはカスタムの作成が含まれると想像していますDifferenceListener
。すぐに使えるものがあれば、車輪の再発明はしたくありません。
XMLUnit 以外のライブラリを使用する提案を歓迎します。
xmlunit - XMLUnit で 2 つの類似した XML ファイルを比較するにはどうすればよいですか
XMLUnitを使用して、2 つの類似した XML ファイルを比較したいと考えています。
基本的にすべて同じでFile1
、 のコピーですがFile2
、File2
では 1 つのノード内のいくつかの要素の順序を変更しました。
これらのファイルを比較して類似の結果を返し、これらのファイルを異なるものとして扱わないテストを実行しようとしています。
java - AssertPathsEqual をキャッチしてエラーをコンソールに出力する方法は?
この AssertionFailedError をキャッチして、次のメッセージをコンソールに出力するにはどうすればよいでしょうか。
「テキスト値 '55555' が予期されていましたが、[testFileName] の /xpathResult[1]/result[2]/field[1]/field[1]/field[6]/text()[1] で '55556' でした。 [テスト名]"
「ハッキング」して差分出力文字列を手動で解析することなく、アサーションから値を取得する方法が正確にはわかりません。「ハック」方法よりもエレガントな方法が望ましいです。
Diff テキスト出力を解析する独自の DiffDescriber クラスを作成する必要がありますか?
xml - XMLドキュメントが任意の列でソートされているかどうかのJUnitテスト
次のようなxmlドキュメントが与えられた場合
XMLドキュメントがXMLUnitの要素Bでソートされていると主張する簡単な方法はありますか?
編集:特定のノードの XML タグの値を特定の順序にする必要がある場所を変更できないソフトウェアに奇妙な問題があります。テスト ハーネスで、他の検証の前にこの一連のルールを適用したいと考えています。
java - 変数値を持つXMLUnitを使用したXMLのテスト
テストしているXMLがあり、その要素の1つとして日付と時刻が設定されています。これは明らかに、テストが実行されるたびに変更されます。
XMLを比較して、このノード値を無視する方法、または正規表現などでチェックする方法はありますか?
私がテストしているXMLは次のとおりです。
最初の要素(core:date)が日付形式であることを確認したいのですが、値は平等の目的には関係ありません。
ありがとう
xml - xml ドキュメントを XMLUnit と比較するときに、比較のためにいくつかの子を無視します
XML文書をXMLUnitと比較するとき、要素内のいくつかの子を無視することは可能ですか? それらを比較するときに、要素内の空のテキスト ノードを無視したいと考えています。
よろしく、 ケシャブ
java - XMLUnit - Compare two XML ignoring the child order
I am trying to see if I could use XMLUnit to compare the following two different XML. I used the Diff class to compare the following two XML and checking for similar returns false.
Here is my JAVA code:
xml - XmlUnitに代わるものはありますか?
生成された.xmlファイルと.wsdlファイルを含む大きなディレクトリ構造を比較する必要があります。生成された.xmlファイルは、子要素が表示される順序が異なります。XmlUnit Diff.similar()メソッドは、このケースを処理することになっています。
「2つのドキュメントは、順序に関係なく同じ要素と属性が含まれている場合、「類似している」と見なされます。」
ただし、これは当てはまりません。.xmlファイルを取得し、2つの子要素の順序を逆にすると、XmlUnitはそれらが類似していないと言います。
XmlUnitが壊れており、組み込みのdiffユーティリティ以上の機能は提供されていません。
子要素の順序など、.xmlファイルの単純な違いを認識するXmlUnitの代替手段はありますか?
java - XMLUnit - XML ファイルのインデントが比較に影響を与える
現在、XMLUnitライブラリを使用して 2 つの XML ファイルを比較しようとしています。そのうちの 1 つである候補は、Java オブジェクト (JAXB を使用) から私のコードによって生成され、もう 1 つは参照です(変更できません)。基本的に、参照 XML ファイルが与えられた場合、(Jaxb と独自のいくつかのクラスを使用して) それをシリアル化解除し、別のファイルにシリアル化して、同じコンテンツを保持できることを証明しようとしています。
ライブラリは必要なサービスを提供しているようですが、生成されたファイルが適切にインデントされていない場合 (「きれいな印刷」バージョンのようなもの) は比較に失敗し、インデントが OK の場合はそうではありません。たとえば、候補が生成されたときにインデントがない場合、コンテンツはワンライナーであり、インデントが適切に (手動で) 行われる場合、比較は OK です。
XMLUnit によって生成されるエラー メッセージは次のとおりです。
[異なる] 子ノードの数が '3' であると予想されていましたが、'1' でした
これを解決するアイデアはありますか?おそらく解決策は、候補のきれいな印刷バージョンを生成することです。この場合、それを JAXB シリアライザーと組み合わせるという考えはありますか?
ところで、Java で XML ファイルを比較するためのより優れたソリューションがあれば、それを知ってうれしいです ;)
よろしくお願いします。