2

我正在尝试 Approvals.Verify xml,但问题是属性的顺序。在少数元素中,它们在我的计算机和 Jenkins 中的顺序不同。从其他问题中,我发现更改类中属性的顺序。这有点奏效:它改变了属性的顺序,但现在詹金斯的顺序是它曾经在我的电脑中的顺序,反之亦然。因此,更改属性在课堂上的顺序没有帮助。

有没有办法使用 ApprovalTests 来忽略 xml 属性的顺序?或者我怎么能说出 xml 序列化中属性的确切顺序?还是其他提示?

4

1 回答 1

3

根据 XML 标准第 3.1 节,开始标记或空元素标记中属性规范的顺序并不重要。 因此 XML 属性的更改不应触发单元测试失败。

而且,从参考来源看来,该方法在验证之前通过内部调用对所有属性进行递归排序XmlApprovals.VerifyOrderedXml()来规范化属性的顺序。XmlUtils.FormatXmlWithOrderedAttributes()因此,这种方法应该可以满足您的需求。

于 2016-10-06T21:21:44.210 回答