我有一些代码大量使用XElement
类来构建Xml段,例如代码看起来像
XNamespace ns = "ns";
XElement myXml = new XElement(
ns + "filter",
new XElement(
ns + "and",
new XElement(
ns + "equals",
new XAttribute("name", "uid"),
new XElement(ns + "value", "some text"))));
它最终会吐出一些等同于
的Xml代码 <ns:filter>
<ns:and>
<ns:equals name="uid">
<ns:value>some text</ns:value>
</ns:equals>
</ns:and>
</ns:filter>
现在我需要对逻辑单元测试进行xpath,获取属性等等。我总是可以编写我的Linq-Xml来检查数据,但这非常繁琐,因为我需要对很多相似的代码进行单元测试。
我查看了fluent assertions
,它非常接近,但它似乎无法验证嵌套元素的值。
任何人都有一些好的推荐?
答案 0 :(得分:0)
您可以致电XElement.DeepEquals(actual, expected)
。
但是,您将无法获得有用的失败消息。
你也可以简单断言他们的ToString()
是相同的,并使用你的断言框架的字符串不同。