2

Approvals.Verify xml を実行しようとしていますが、問題は属性の順序です。いくつかの要素では、私のコンピューターとジェンキンスでは順序が異なります。他の質問から、クラス内のプロパティの順序を変更することがわかりました。それはちょっとうまくいきました。属性の順序が変更されましたが、今ではジェンキンスの順序が私のコンピューターで使用されていたものになり、その逆も同様です。したがって、クラス内で変更されたプロパティの順序は役に立ちません。

ApprovalTests を使用して xml 属性の順序を無視する方法はありますか? または、xml シリアライゼーションで属性の正確な順序をどのように言うことができますか? それとも他のヒント?

4

1 に答える 1

3

XML 標準セクション 3.1 によると、開始タグまたは空要素タグ内の属性指定の順序は重要ではありません。 したがって、XML 属性の変更によって単体テストの失敗が引き起こされることはありません。

また、参照元から、このメソッドは、すべての属性を再帰的にソートXmlApprovals.VerifyOrderedXml()する内部呼び出しにより、検証前に属性の順序を正規化しているようです。XmlUtils.FormatXmlWithOrderedAttributes()したがって、この方法はあなたのニーズを満たすはずです。

于 2016-10-06T21:21:44.210 に答える