我对RSpec这个世界很陌生。我正在编写一个RubyGem,它处理指定目录和任何子目录中的文件列表。具体来说,它将使用Find.find
并将文件附加到数组以供以后输出。
我想编写一个规范来测试这种行为,但是在伪造文件目录和存根Find.find
等方面真的不知道从哪里开始。这是我到目前为止所做的很少:
it "should return a list of files within the specified directory" do
end
非常感谢任何帮助!
答案 0 :(得分:2)
您可以使用fakeFS gem。
答案 1 :(得分:2)
我认为您不需要测试库,但是如果您有类似
的方法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