MSTest的XML单元测试框架

时间:2012-12-07 00:30:09

标签: .net xml mstest

我们需要验证我们生成的xml文档的内容。是否有任何框架可以帮助您轻松提取和验证文档的内容?

我们需要知道的事情

  • 包含元素x
  • 元素x的值
  • 元素x包含值为z
  • 的属性y
  • 意外元素

如果没有断言,那么无关紧要,这可以通过MSTest

来完成

2 个答案:

答案 0 :(得分:6)

在此处查看Fluent Assertions库文档:http://fluentassertions.codeplex.com/documentation

标题为" XML classes"听起来就像你之后的那样。该代码使用LINQ-to-XML。

xDocument.Should().HaveRoot("configuration");
xDocument.Should().HaveElement("settings");

xElement.Should().HaveAttribute("age", "36");
xElement.Should().HaveElement("address");

xAttribute.Should().HaveValue("Amsterdam");

您可以在此处从nuget安装FluentAssertions:http://nuget.org/packages/FluentAssertions

答案 1 :(得分:1)

您还可以使用xsd.exe(包含在VS中)之类的工具从您的XML XSD文件生成C#实体。

生成对象后,可以使用XmlSerializer实例反序列化XML。如果您无法反序列化XML,那么您很快就会知道您有无效的XML。

之后,您应该能够通过使用反序列化实体的各种属性来相当轻松地验证XML的内容。

Here is a good starter blog post关于从XSD生成实体对象,它使用XmlSerializer显示一些简单的反序列化代码。