我有一个返回我希望能够测试的 IEnumerable 的方法。对于我将使用的测试输入,它将返回大约 10 个值。
在这种情况下编写测试最简洁的方法是什么?
更新:
非常感谢到目前为止的回答。我现在要研究的几个有用的建议。
我不认为我最初的问题措辞很好,更好的方法如下:
我想为返回 KeyValuePair<string, uint>
的 IEnumerable 的方法编写几个测试.对于我将使用的测试数据集,该方法将仅返回几个值。大多数情况下大约有 10 个值。
在 MSTest 中表达我的预期返回值集和测试方法的最佳方式是什么?
最佳答案
假设您知道应该返回什么结果,我发现 Enumerable.SequenceEqual
有用。 (创建一个具有预期结果的数组。)
在MoreLINQ我把它包装在 extension method 中这将测试相等性并在不相等时转储两个序列。实际上,MoreLINQ 测试主要是关于序列相等性的测试,因此它们可能会为您提供一些方便的示例 :)
关于c# - 如何为返回 IEnumerable 的方法编写测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1380294/