這是我有:如何使用rspec模擬/僞造文件的存在?
it "should be able to get a valid directory path" do
@asset.some_file_path.should == "/something/test.jpg"
end
的問題是,some_file_path返回「/not_here_yet.jpg」如果沒有現有的文件。
def some_file_path
if File.exists(self.my_image_path)
return my_image_path
else
return "/not_here_yet.jpg
end
end
我真的不想在我的測試中創建一個新文件。有沒有辦法讓我僞造文件的存在?
我想東西的線路:
it "should be able to get a valid directory path" do
AwesomeFakeFileCreator.create(@asset.my_image_path)
@asset.some_file_path.should == "/something/test.jpg"
end
這可能嗎?我怎麼能做這樣的事情?
編輯:我查了一下,在FakeFS,但我不知道它回答我的問題
你可以詳細介紹一下這是做什麼? – marcgg 2010-02-10 11:10:03
第一行列出文件存在返回true,第二行列出資產對象的my_image_path方法,並返回文件路徑,在這種情況下,即some_file_path方法將返回的文件路徑,即整個spec示例所涉及的文件路徑。總之,如果路徑存在,則返回該路徑。 – nas 2010-02-10 11:23:49
不是說你必須讓我開心或什麼 - 我沒有問這個問題 - 但我擔心我不明白這一點。 – Shadowfirebird 2010-02-10 12:28:58