タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

RSpecに関するshozzyのブックマーク (2)

  • RSpecでFileIOをスタブにする - ぬまのそこ

    今日したこと テスト書いたり諸々 単体テスト、疲れたときに書くと意外と良いかもしれない。 今日は其の途中で得た知見を書いてお茶を濁す。 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

    RSpecでFileIOをスタブにする - ぬまのそこ
    shozzy
    shozzy 2019/12/25
    ファイル入出力のテスト方法
  • rspec でファイル読み書きテスト - LIFULL Creators Blog

    ネクストでレコメンドエンジン開発をしてる古川です。 rubyで、ファイルを読み込んで加工して別のファイルに出力というプログラムをよく書きます。 最近、rspec でテストを書くようになったのですが、beforeでテスト入力ファイルを作成し、 after で作成したテスト入力ファイル、テスト出力ファイルを削除、ということをしていました。 とりあえずは、これで問題なかったのですが、同時実行時や、実行時パス、パーミッションなど、 今後いろいろ問題になりそうで、いやだなと思っていたところ、Stack Overflowに、 まさに、それがやりたかったんだよ!という記事を見つけました。 StringIOを使えばよかったのですね。 記事は、読み込みテストだけでしたので、書き込みテストも追加してみました。 テスト対象クラス my_file_io.rb class MyFileIo def run(path

    rspec でファイル読み書きテスト - LIFULL Creators Blog
    shozzy
    shozzy 2019/12/25
    ファイル入出力のテスト方法
  • 1