测试返回 IEnumerable 的函数

2024-02-24

有人可以指导我如何为返回 Ienumerable 的方法编写测试吗?

这是我的方法 -

public  IEnumerable<string> fetchFiles()
{ 
   IOWrapper ioWrapper = new IOWrapper();
   var files = ioWrapper.GetFiles(folderPath, "*.csv", SearchOption.AllDirectories);
   return files;
}

我刚刚开始学习单元测试。因此,如果有人解释我如何去做,我将非常感激。


您需要一些测试框架。您可以使用 Visual Studio 中嵌入的 MS Test - 将新的测试项目添加到您的解决方案中。或者您可以使用我正在使用的 NUnit。

[TestFixture] // NUnit attribute for a test class
public class MyTests
{
    [Test] // NUnit attribute for a test method
    public void fetchFilesTest() // name of a method you are testing + Test is a convention
    {
        var files = fetchFiles();

        Assert.NotNull(files); // should pass if there are any files in a directory
        Assert. ... // assert any other thing you are sure about, like if there is a particular file, or specific number of files, and so forth
    }
}

有关 NUnit 中可能断言的完整列表,请导航。也感谢用户 xxMUROxx 指出 class.

此外,对于多行测试方法,您可能希望它可读,因此在互联网上搜索“Arrange Act Assert (AAA) Pattern”。

另一件事,已经有一个关于测试 IEnumerables 的问题here https://stackoverflow.com/questions/545671/assert-ienumerables?rq=1 on SO.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

测试返回 IEnumerable 的函数 的相关文章

随机推荐

  • ajax在asp.net中的使用

    我对使用哪种方法有点困惑 1 使用Jquery调用实现订单的HttpHandler页面 2 使用 ICALLBACKEventHandler 阅读更多 http www ajaxmatters com 2006 05 using icall
  • Meteor如何在mongo中保存模板

    我想让我的用户能够创建文档模板 合同 电子邮件等 我想出的最好的选择是将这些文档模板存储在 mongo 中 也许我错了 我已经搜索了几个小时 但我不知道如何使用它们的数据上下文呈现这些文档模板 Example Template stored
  • Jupyter 编辑模式下是否有删除行的快捷方式?

    In Jupyter s edit mode is there a shortcut for deleting a line of text Something like Ctrl L in Visual Studio Shift Dele
  • 如何确保分页 REST API 中的数据完整性?

    我目前正在研究 REST API API返回的资源预计是来自数据库的海量数据 数据库中有数千万行 分页是必须的 以避免将数据写入 HTTP 响应时消耗大量内存 当客户端请求之间数据库中存在删除 添加行时 如何确保数据完整性 例如 page
  • Android 共享首选项的空指针异常

    我试图在共享首选项中保存一个整数值 并在应用程序重新启动时再次加载它 我在我的主要活动中创建了一个共享首选项 并尝试在单击菜单项时在另一个菜单侦听器类中保存整数值 菜单侦听器类位于不同的包中 并且菜单侦听器类扩展了主活动 但是当我尝试这样做
  • 如何使 GCC 将 .text 部分编译为 ELF 二进制文件中的可写部分?

    我希望能够动态更改我正在使用的库中的可执行代码 本质上 我想动态地 NOP 掉某些不需要的函数 但是 我正在使用的库的 text 部分是不可写的 大多数程序都是如此 我有该库的源代码 因此想使用 GCC 将其编译为可写 有没有办法做到这一点
  • Linq to SQL 如何执行“where [column] in (值列表)”

    我有一个函数 可以获取 id 列表 并且需要返回与该 id 关联的描述相匹配的列表 例如 public class CodeData string CodeId get set string Description get set publ
  • 如何调整 vb6 程序的大小,使其自动适应任何屏幕分辨率?

    我怎样才能有一个在 1280 1024 下正确打开的 vb6 程序 但当切换到其他分辨率 例如 640 480 时 我只能看到一半的屏幕 如何重新调整我的 vb6 程序的大小 以便它自动适合任何屏幕分辨率 您需要使用Screen对象 这将始
  • 更改 Html.DisplayFor 布尔复选框 MVC

    我有一个布尔属性 IsActive 视图中是对象及其属性 包括 IsActive 的列表 但在列表中 IsActive 是一个不可编辑的复选框 因为它是布尔值 如果我将 DisplayFor 更改为 DisplayTextFor 那么它将只
  • Excel VBA:合并循环内的范围

    I want to merge that repeating Chapters into just one cell by Chapter 这是我的代码如何进行循环的 Dim label As Control Dim itm As Obje
  • C中最好的计时方法?

    以高分辨率和可移植性对代码部分进行计时的最佳方法是什么 Time from here ProcessIntenseFunction to here printf Time taken d seconds d milliseconds sec
  • Maven Tycho:如何在产品构建中排除 eclipsec.exe?

    我将 Eclipse RCP 产品的构建从 PDE 构建切换到 Maven Tycho 除了主 品牌 启动器可执行文件之外 该产品现在还包括 eclipsec exe 文件 我们希望从我们的产品中省略这个基于控制台的启动器 因为它可能会让我
  • LinkedIn API 获取公司所有员工吗?

    是否可以获取公司所有员工的名单 不仅在当前用户网络中 就像这样的搜索返回 http api linkedin com v1 people search company name Apple 这在 LinkedIn 主网站上是可能的 所以我不
  • 在自定义验证属性中使用数据库上下文

    我正在尝试在我的 Core 2 项目中创建一个验证属性 它需要根据数据库中保存的现有值列表来验证该值 下面的代码不起作用 它无法访问数据库上下文 有什么想法为什么 如何纠正吗 public class BibValidatorAttribu
  • typeid 运算符返回的对象的生命周期是多少?

    如果我打电话typeid并检索返回的地址type info const type info info typeid Something 返回的对象的生命周期是多少typeid指向该对象的指针将保持有效多久 然而 实施实施了它们 结果type
  • R 箱线图频率

    我需要帮助 我正在使用R分析一些数据 我有一个名为 mytable 的频率表 我创建的如下 mytable table cut var1 12 cut var2 12 该表看起来像这样 1 2 2 3 3 4 1 3 2 1 2 3 6 0
  • IBM DB2 中的数据类型转换:BIGINT 到 VARCHAR

    我正在编写一个查询来做一些事情 但它没有按照我想要的方式工作 select CORR ID from TABLE1 where CORR ID not in select id from TABLE2 问题是 TABLE2 id 是一个 l
  • Cloud Functions for Firebase 可以跨项目使用吗?

    我希望每当新的 Pub Sub 消息发送到第三方项目 即跨项目 中的主题 订阅时触发 Pub Sub 函数 使用functions pubsub onPublish 经过一些研究和实验 我发现如果主题名称包含 并且默认为 projects
  • 我在 Flutter/Dart 异步代码执行方面遇到问题,例如它是如何工作的

    在 Flutter 中 我们使用 async wait 和 Future 有人可以解释一下 如果我们不使用另一个线程 在 dart 中不能这样做 并仅在主 UIThread 上运行作业 应用程序不会变得不稳定 因为即使我们等待作业执行它最终
  • 测试返回 IEnumerable 的函数

    有人可以指导我如何为返回 Ienumerable 的方法编写测试吗 这是我的方法 public IEnumerable