今日したこと テスト書いたり諸々 単体テスト、疲れたときに書くと意外と良いかもしれない。 今日は其の途中で得た知見を書いてお茶を濁す。 FileIOをする処理をRSpecで テスト対象 def file_write File.open('hoge.txt', 'w') do |f| f.print 'fuga' end end こんなコードをテストしなきゃいけないとき、ファイルに色々と書き出されてしまうので面倒くさい。 また書き出されたファイルの中身が正しいかチェックするのにもファイルを読まないと行けないので大変。 こんな処理の時はStringIOが便利。 またRSpecでは既存の処理を簡単に置き換えられる。 file = StringIO.new('', 'w') allow(File).to receive(:open).and_yield(file) file_write excep