如何使用 RSpec 测试获取目录中的文件列表?

2024-04-10

我对 RSpec 的世界还很陌生。我正在编写一个 RubyGem,它处理指定目录和任何子目录中的文件列表。具体来说,它将使用Find.find并将文件附加到数组以供以后输出。

我想编写一个规范来测试这种行为,但真的不知道从哪里开始伪造文件目录和存根Find.find等等,这是我到目前为止所拥有的:

it "should return a list of files within the specified directory" do
end

非常感谢任何帮助!


我认为您不需要测试该库,但是如果您有类似的方法

def file_names
  files = []
  Find.find(Dir.pwd){|file| files << file}
  ........
end

您可以存根 find 方法以返回文件列表,如下所示

it "should return a list of files within the specified directory" do
  Find.stub!(:find).and_return(['file1', 'file2'])
  @object.file_names
end

或者如果你想设定期望那么你可以这样做

it "should return a list of files within the specified directory" do
  Find.should_receive(:find).and_return(['file1', 'file2'])
  @object.file_names
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 RSpec 测试获取目录中的文件列表? 的相关文章

随机推荐

  • 为什么没有为原始数据类型分配内存? [复制]

    这个问题在这里已经有答案了 char bool 和 int 等原始数据类型有一定的内存 假设char 它有1个字节的内存 当我们在代码中使用 char 变量时 该变量必须需要 1 个字节的内存 在这种情况下我们为什么不分配内存呢 由于我们从
  • Spring - 需要在 @Component 类中自动装配 @RestController 类

    我在同一个 Maven 父模块下组合了 Web 和核心项目 如下所示 家长 网络 com parent test web 核心 com parent test core 我想参考核心项目中的Web模块依赖项来调用Web模块中的一些api 网
  • 从打开的“fancybox”中的功能关闭花式框

    大家好 我希望能够在从内部打开 fancyBox 时将其关闭 我已尝试以下方法但无济于事 function closeFancyBox html var re Element insert complete gi if html searc
  • Tensorflow 对象检测 API 索引越界

    运行 Android TF Detect 演示并使用我重新训练的 3 类 ssd mobilenet v1 coco 模型后 我的 TF 检测演示崩溃 给出索引越界异常这是 12 26 17 53 13 931 22429 25212 or
  • 设置Loader项目属性

    In the context https stackoverflow com questions 33513546 delegate folderlistmodel in tableview文件管理器 我有一个TableView组件保存在文
  • JavaScript 组织 |带模块的模块模式

    我将代码组织成 20 60 行模块 通常采用模块模式 我想要一个结构良好的面向对象的 JavaScript 库 这是最好的方法吗 该代码已经过测试并且可以工作 我喜欢它 因为程序员可以从库中提取模块并根据需要使用它们 它们是独立的 这里是
  • ASP.Net MVC - 处理错误的 URL 参数

    处理访问者构建自己的 URL 并将我们期望的 ID 替换为他们喜欢的任何内容的最佳方法是什么 例如 ASP Net MVC 处理错误的 URL 参数 https stackoverflow com questions 236349 但用户可
  • 如何将已经编译好的C库添加到Android中?

    我已经编译了库 针对 linux a 和 windows dll 我需要将其中一个 我想对于 Android 我将不得不使用 a 库导入到我的 android 项目中 所以我已经阅读了一些关于 NDK 的教程 但这里有一个问题 我是否需要源
  • Emgu CV 和官方 Microsoft Kinect SDK?

    Emgu CV http www emgu com wiki index php Main Page目前允许将 Kinect 与 OpenNI 驱动程序一起使用 http www emgu com wiki index php Downlo
  • 整个应用程序的异常处理

    我对 iPhone 中的异常处理有一些疑问 他们是这样的 假设我有一连串被依次调用的方法 即方法 A 调用方法 B 方法 B 又调用方法 C 方法 C 调用方法 D 这是放置我的 try catch 块的最佳位置 是方法 A B C D 还
  • 用拼凑的方式组合和合并 ggplot2 中的图例

    我想结合两个或多个情节来融合他们的传奇 例如 我可以创建一些数据和两个场景 如下所示 packages library ggplot2 library patchwork first plot set seed 07042020 x lt
  • 我如何知道 Perl 正则表达式的哪一部分与字符串匹配?

    我想搜索文件的行以查看其中是否有任何行与一组正则表达式中的一个匹配 像这样的东西 my regs qr a qr b qr c foreach my line
  • jQuery 对话框回发但 UpdatePanel 未更新

    我想从代码隐藏中显示 jQuery UI 对话框 并且需要在回发后刷新它 该对话框是用于过滤和查找数据的控件 因此 用户从 DropDownLists 中进行选择并在 TextBoxes 中输入文本 单击 Apply Button 发生异步
  • 最佳数据库变更控制方法

    作为数据库架构师 开发人员和顾问 有很多问题可以回答 其中之一 虽然我最近被问到 但仍然无法很好地回答 那就是 保持数据库变更记录 组织并能够在单开发人员或多开发人员环境中有效推出的最佳方法或技术之一是什么 这可能涉及存储过程和其他对象脚本
  • Entity Framework 4 Code-First 多对多插入

    我在数据库层使用代码优先模式 我有两个 POCO 课程 public class Order Key public int OrderId get set public virtual ICollection
  • “float”对象没有属性“__getitem__”Python错误

    当我运行代码时 import numpy as np from scipy integrate import odeint import matplotlib pyplot as plt Initial conditions def f f
  • ChrW(e.KeyCode) 在 C# 中的等价物是什么?

    在VB NET 2008中 我使用了以下语句 MyKeyChr ChrW e KeyCode 现在我想将上面的语句转换成C 有任何想法吗 快速而肮脏的相当于ChrW在 C 中只是将值转换为char char MyKeyChr char e
  • WTForms:在编写自定义验证时传递额外参数

    写作时wtforms 的自定义验证 http wtforms simplecodes com docs 0 6 validators html 是否可以传递额外的参数 如请求 For e g class MyForm Form name T
  • 从 2 元组列表生成最大数量的 3 元组

    我有一个 2 元组列表 并希望从该列表中生成尽可能多的 3 元组 例子 usr bin python import itertools a list itertools combinations 1 2 3 4 5 6 7 8 9 2 i
  • 如何使用 RSpec 测试获取目录中的文件列表?

    我对 RSpec 的世界还很陌生 我正在编写一个 RubyGem 它处理指定目录和任何子目录中的文件列表 具体来说 它将使用Find find并将文件附加到数组以供以后输出 我想编写一个规范来测试这种行为 但真的不知道从哪里开始伪造文件目录