由于我们公司不使用单元测试,所以我正在自学对自己的代码进行单元测试。 我正在使用标准的 .net 测试框架进行一些非常基本的单元测试。
我的一个方法返回一个 IEnumerable<string>
我想测试它的输出。
所以我创建了一个 IEnumerable<string>
预计将对其进行测试。
我以为我记得有一种方法可以Assert.ArePartsEqual
或类似的东西,但我似乎找不到它。
简而言之,我如何测试两个 IEnumerable<string>
包含相同的字符串?
最佳答案
我不知道您指的是哪个“标准 .net 测试框架”,但如果它是 Visual Studio Team System 单元测试内容,您可以使用 CollectionAssert .
你的测试应该是这样的:
CollectionAssert.AreEqual(ExpectedList, ActualList, "...");
更新:我忘记了 CollectionAssert 需要一个 ICollection 接口(interface),所以您必须调用 ActualList.ToList() 才能编译它。返回 IEnumerable 是一件好事,所以不要仅仅为了测试而改变它。
关于c# - 断言 IEnumerables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/545671/