XMLUnit

XMLUnit是用来比较两个xml的内容是否一样的Java类库。

在用它之前,我都是用XML String是否相等来比较两个XML是否相等的,但是碰到了如下问题:

1.有时候两个xml只是节点顺序不一样,但是仍然是相等的,比如下面两个xml:

xml1

123
456

xml2

456
123

2.有时候两个xml里面的空行或空格不一致,但是仍然是相等的。

3.有时候一个xml里面有一个空节点,另外一个xml里面没有这个节点,其实两个xml还是等价的,比如下面两个xml:

xml1

123

xml2

123

XMLUnit还可以让你自己定义和配置你的各种比较需求,示例如下:

Diff myDiff = DiffBuilder.compare(control)
       .withTest(test)
       .checkForSimilar().checkForIdentical() // [1]
       .ignoreComments() // [2]
       .ignoreWhitespace() // [3]
       .normalizeWhitespace() // [4]
       .withComparisonController(ComparisonController) // [5]
       .withComparisonFormatter(comparisonFormatter) // [6]
       .withComparisonListeners(comparisonListeners) // [7]
       .withDifferenceEvaluator(differenceEvaluator) // [8]
       .withDifferenceListeners(comparisonListeners) // [9]
       .withNodeMatcher(nodeMatcher) // [10]
       .withAttributeFilter(attributeFilter) // [11]
       .withNodeFilter(nodeFilter) // [12]
       .withNamespaceContext(map) // [13]
       .withDocumentBuilerFactory(factory) // [14]
       .ignoreElementContentWhitespace() // [15]

更多的例子可以参考:

https://github.com/xmlunit/user-guide/wiki

你可能感兴趣的:(XMLUnit)