我有一個文件,我需要看它是否存在,當我運行一個存根,但該文件的位置在測試時不確定。我認爲它可能有效,但我認爲還有些不正確。基本上,實際的代碼運行Dir.glob(「/ opt/test - */bin/progname」)。看看那裏是否有文件。我是否需要將其分成多行?看到一個文件是否存在與Rspec
Dir.stubs(:glob).with("/opt/test-*/bin/progname").exists?returns(true)
我有一個文件,我需要看它是否存在,當我運行一個存根,但該文件的位置在測試時不確定。我認爲它可能有效,但我認爲還有些不正確。基本上,實際的代碼運行Dir.glob(「/ opt/test - */bin/progname」)。看看那裏是否有文件。我是否需要將其分成多行?看到一個文件是否存在與Rspec
Dir.stubs(:glob).with("/opt/test-*/bin/progname").exists?returns(true)
如果你存根出Dir.glob
,那麼你將不會被測試系統能正常調用它。相反,你可以將文件實際上都是寫在本例中的測試位置設置:
before(:each) do
FileUtils.cp source, destination
end
後清理:
after(:each) do
FileUtils.rm destination
end
正確的變化對您要FO是: 迪爾.stubs(:glob).with(「/ opt/test - */bin/progname」)。and_return(double(「glob」,:'exists?'=> true)
您可以使用FakeFS
gem模擬文件系統:
FakeFS.activate!
File.open('/opt/test-this/bin/progname', 'w') { |f| f.write('something') }