XML メッセージを予想される出力と照合するタスクに直面した場合、手動での比較は面倒でエラーが発生する可能性があります。傾向がある。幸いなことに、Java には、これをより効率的に達成するためのいくつかのアプローチが用意されています。
考えられる解決策の 1 つは文字列の直接比較ですが、書式設定と名前空間の使用法に一貫性がないため、信頼性が制限されます。より堅牢な代替方法は、両方の XML 文字列をプログラムで解析し、要素を手動で比較することです。この方法は実行可能ですが、特殊なライブラリを活用する洗練さに欠けています。
XML 比較用に設計された人気のある Java ライブラリである XMLUnit を始めましょう。 XMLUnit を使用すると、2 つの XML 文字列間の意味上の同等性を判断するのが簡単になります。 XMLUnit は、空白などの重要でない差異を無視することに優れており、差異が存在する場合には、差異の詳細なレポートを提供します。
XMLUnit の使用は簡単です。
import org.custommonkey.xmlunit.XMLUnit; import org.custommonkey.xmlunit.Diff; import org.junit.Test; import static org.junit.Assert.assertEquals; public class XMLComparisonTest { @Test public void testXMLComparison() { String xml1 = ...; String xml2 = ...; XMLUnit.setIgnoreWhitespace(true); Diff diff = XMLUnit.compareXML(xml1, xml2); // When XML is equal, diff will be equal to the identity diff Diff identityDiff = XMLUnit.getControlDiff(); assertEquals(diff, identityDiff); } }
XMLUnitは包括的な比較オプションを提供し、開発者が特定の要件に基づいて比較プロセスをカスタマイズできるようにします。 XMLUnit を採用することで、XML 検証を合理化し、自動テストが厳密で信頼できるものであることを保証できます。
以上がXMLUnit は Java での XML ドキュメントの比較をどのように効率化できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。