0
FakeFS::File.should_receive(:chmod)
它是做什麼用的?參考http://www.zlu.me/mocking/rails/rspec/carrierwave/fog/s3/2012/07/17/testing-carrierwave-with-fog.htmlFakeFS :: File.should_receive(:chmod)是做什麼的?
FULL SPEC:
class TestFileUploader
mount_uploader :file, FileUploader
end
describe FileUploader do
include FakeFS::SpecHelpers
context 'for non-production environment' do
it 'should upload video clip to dev-bucket on s3' do
FakeFS.activate!
FakeFS::File.should_receive(:chmod) #this is needed or you will get an exception
File.open('test_file', 'w') do |f|
f.puts('foo') # this is required or uploader_test.file.url will be nil
end
uploader_test = TestFileUploader.new
uploader_test.file = File.open('test_file')
uploader_test.save!
uploader_test.file.url.should match /.*\/dev-bucket.*/ #test to make sure that it is not production-bucket
FakeFS.deactivate!
end
end
end