如何存根 file.read 调用,以便它返回我想要的内容?以下不起作用:
def write_something
File.open('file.txt') do |f|
return contents = f.read
end
end
# rspec
describe 'stub .read' do
it 'should work' do
File.stub(:read) { 'stubbed read' }
write_something.should == 'stubbed read'
end
end
看起来存根被应用于File
类,而不是我的块内的文件实例。所以按预期File.read
返回。stubbed read
但是当我运行我的规范时它失败了。