gpt4 book ai didi

.net - 如何模拟 IEnumerable 以便我可以测试接收它的方法

转载 作者:行者123 更新时间:2023-12-03 20:07:52 27 4
gpt4 key购买 nike

我有一个我想测试的方法,它需要一个 IEnumerable<T>作为参数。

我目前正在 mock IEnumerable<T> 的内容如下(使用最小起订量):

 var mockParent = new Mock<ICsvTreeGridExportable>();
var mockChild = new Mock<ICsvTreeGridExportable>();

如何将这些模拟对象放入 IEnumerable<T>以便我可以将它们作为参数传递给我要测试的方法?

我正在测试的方法预计会收到 IEnumerable<ICsvTreeGridExportable>

最佳答案

我只会使用集合初始化器语法创建一个数组。 IE。

var mockParent = new Mock<ICsvTreeGridExportable>();
var mockChild = new Mock<ICsvTreeGridExportable>();

TestMethod(new[] { mockParent.Object, mockChild.Object });

.NET 中的数组实现了 IEnumerable<T>界面,所以你都准备好了。

注意:如果你想要一个“纯” IEnumerable<T> (正如 Luke 指出的),你可以使用一点 LINQ 来做到这一点:
TestMethod((new[] { mockParent.Object, mockChild.Object }).TakeWhile(true));

关于.net - 如何模拟 IEnumerable<T> 以便我可以测试接收它的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1728815/

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