c# - 断言 IEnumerables

标签 c# unit-testing

由于我们公司不使用单元测试,所以我正在自学对自己的代码进行单元测试。 我正在使用标准的 .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/

相关文章:

c# - INSERT/SELECT 查询中的 SQL Server 和汉字

C#:为自定义异常重写 ToString() 方法

ruby-on-rails - 测试 Rails 3 Scopes 有意义吗?

c# - 如何在 form1 鼠标输入事件中获取鼠标坐标 X 和 Y?

c# - 将一个随机数函数从 JS 复制到 C#

java - 如何获得 Maven 多模块项目的完整代码覆盖率

python-3.x - 对使用上下文管理器的方法进行单元测试

ruby - 如何测试 Sidekiq 作业失败?

java - 在 Android 中使用 Espresso 的正确方法是什么?

c# - 使用 OleDb 以只读模式打开 Excel 文件?