如何配置 XmlUnit.Net 在比较两个文档时忽略 XML 声明?
假设我有以下控制文档:
<?xml version="1.0" encoding="utf-8"?>
<a><amount>1</amount></a>
Run Code Online (Sandbox Code Playgroud)
我想比较一下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<a><amount>1</amount></a>
Run Code Online (Sandbox Code Playgroud)
比较应该没有差异。
我的期望是使用像这样的 NodeFilter 应该可以工作,但事实并非如此:
var diff = DiffBuilder.Compare(control)
.WithTest(test)
.WithNodeFilter(n => n.NodeType != XmlNodeType.XmlDeclaration)
.Build();
diff.Differences.Count().Should().Be(0);
Run Code Online (Sandbox Code Playgroud)
断言因两个差异而失败 - 一个是编码(大小写不同),另一个是独立属性。我对任何一个都不感兴趣。
我说n.NodeType != XmlNodeType.XmlDeclaration或n.NodeType == XmlNodeType.XmlDeclaration说都没有区别。
我正在使用 XMLUnit.Core v2.5.1。