gpt4 book ai didi

C# 单元测试 : iterating through expected results list

转载 作者:行者123 更新时间:2023-11-30 22:19:50 24 4
gpt4 key购买 nike

如何对 C# 单元测试进行参数化,以便测试将遍历参数列表(包括预期值)并将结果与​​预期值进行比较,而不是一系列类似的断言语句?

用例:

  • 这个特定的单元测试需要检查 XML 文档并检查 XML 元素名称列表,验证文档是否包含这些元素以及它们的值是否符合预期

测试方法的断言部分由如下一系列断言组成:

var width = output.Element(namespace + "width");
Assert.IsNotNull(width);
Assert.AreEqual(width.Value, "600");

我想避免冗余代码,而是用不同的值迭代相同的代码。如何定义数据结构以在断言检查中迭代?

所需的数据结构是元组列表(在本例中包含类型为 (XName, string) 的元素)。如何在 C# 中表达?是否有一些标准的单元测试工具可以提供帮助?

更多信息:

  • 使用 Visual Studio 单元测试框架 (Microsoft.VisualStudio.TestTools.UnitTesting) 和 .Net 3.5
  • 不需要使用各种参数值运行用例本身,只需要它的断言部分(上面引用的代码)

最佳答案

Nunit 有一个叫做 TestCases 的东西,你可以通过属性访问它。这听起来像是您要的东西:

http://nunit.org/?p=testCase&r=2.5

更新:

此答案是在指定所使用框架的问题更新之前提供的

更新

这个问题看起来也有相关性:MS Test Equivalent (or lack of)

Does MSTest have an equivalent to NUnit's TestCase?

关于C# 单元测试 : iterating through expected results list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15344015/

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