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
。しかし、スペックを実行すると失敗します。