gpt4 book ai didi

c# - 将 xml 与 ApprovalTests 进行比较时忽略属性的顺序

转载 作者:行者123 更新时间:2023-11-30 21:45:42 24 4
gpt4 key购买 nike

我正在尝试 Approvals.Verify xml,但问题是属性的顺序。在少数元素中,它们在我的计算机和 Jenkins 中的顺序不同。来自其他question我发现改变类中属性的顺序。这有点奏效:它改变了属性的顺序,但现在 Jenkins 的顺序是它以前在我的电脑中的顺序,反之亦然。因此,更改属性在类里面的顺序没有任何帮助。

有什么方法可以使用 ApprovalTests 来忽略 xml 属性的顺序吗?或者我怎么能说出 xml 序列化中属性的确切顺序?或者其他提示?

最佳答案

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

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

关于c# - 将 xml 与 ApprovalTests 进行比较时忽略属性的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39904936/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com