AssertingIEnumerables由于我们公司不使用单元测试,所以我自学对自己的代码进行单元测试。我正在使用标准的.net测试框架进行一些非常基本的单元测试。我的方法返回一个IEnumerable,我想测试它的输出。所以我创建了一个IEnumerable期望来测试它。我想我记得有一种方法可以使用Assert.ArePartsEqual或类似的东西,但我似乎找不到它。简而言之,如何测试两个IEnumerables是否包含相同的字符串?我不知道你指的是哪个“标准.net测试框架”,但如果它是VisualStudioTeamSystem单元测试,你可以使用CollectionAssert。您的测试将如下所示:CollectionAssert.AreEqual(ExpectedList,ActualList,"...");更新:我忘记了CollectionAssert需要一个ICollection接口,所以你必须调用ActualList.ToList()来编译它。返回IEnumerable是一件好事,所以不要仅仅为了测试而更改它。您需要SequenceEqual()扩展方法(LINQ):string[]x={"abc","def","ghi"};列表y=newList(){"abc","def","ghi"};boolisTrue=x.SequenceEqual(y);或者:boolisTrue=x.SequenceEqual(new[]{"abc","def","ghi"});(或任何项目,如果它们的长度不同,它将返回false)我有一个用于“60分钟内的LINQtoObjects”演讲的示例。它也在我的MoreLinq项目中。试图在这里启动它,但它包裹得非常糟糕。从Github上抓取...以上就是C#学习教程:断言IEnumerables分享的所有内容,如果对大家有用,需要详细了解C#学习教程,希望大家多多关注—这篇文章整理自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
