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

Ruby 如何使用RSpec测试获取目录中的文件列表?,ruby,rspec,Ruby,Rspec,我对RSpec的世界还很陌生。我正在编写一个RubyGem,它处理指定目录和任何子目录中的文件列表。具体地说,它将使用Find.Find并将文件附加到数组中以供以后输出 我想写一个规范来测试这种行为,但我真的不知道从哪里开始伪造文件目录和存根Find.Find等。到目前为止,我所知甚少: it "should return a list of files within the specified directory" do end 非常感谢任何帮助 你可以使用gem。我认为你不需要测试这个库,

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

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

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

非常感谢任何帮助

你可以使用gem。

我认为你不需要测试这个库,但是如果你有这样的方法

def file_names
  files = []
  Find.find(Dir.pwd){|file| files << file}
  ........
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

太好了,谢谢。关于不需要测试库,这是一个很好的观点。
it "should return a list of files within the specified directory" do
  Find.should_receive(:find).and_return(['file1', 'file2'])
  @object.file_names
end