如何参数化 C# 单元测试,以便测试不是一系列类似的断言语句,而是遍历参数列表(包括预期值)并将结果与预期值进行比较?
用例:
- 这个特定的单元测试需要检查一个 XML 文档并检查一个 XML 元素名称列表,验证文档是否包含这些元素并且它们的值是否符合预期
测试方法的断言部分由一系列断言组成,如下所示:
var width = output.Element(namespace + "width");
Assert.IsNotNull(width);
Assert.AreEqual(width.Value, "600");
我想避免冗余代码,而是用不同的值迭代相同的代码。如何在断言检查中定义要迭代的数据结构?
所需的数据结构是元组列表(在这种情况下包含类型(XName,字符串)的元素)。如何在 C# 中表达它?是否有一些标准的单元测试工具可以在这里提供帮助?
更多信息:
- 使用 Visual Studio 单元测试框架 (Microsoft.VisualStudio.TestTools.UnitTesting) 和 .Net 3.5
- 我不需要使用各种参数值运行用例本身,只需要它的断言部分(上面引用的代码)