amazonのs3をrails app内で使用しています。
テストを書く際もs3にputする必要ないですよね。
はじめはclass_evalで該当コードをオーバーライドしていたのですが、
まじでいけてない!
オーバーライドするメソッドが修正になったらテストも修正しないといけない!
と思ったら、aws sdk rubyにちゃんとstubの機能が用意されていました。
Aws.config[:s3] = { region: 'ap-northeast-1', credentials: Aws::Credentials.new('dummy_id', 'dummy_secret') } Aws.config.update(stub_responses: true)
これでresponseがstub化されるので、テストでs3に投げられることはありません!
コメントを残す