AWS S3のテストをする際にresponseをstub化する

f:id:ihatov08:20171003121303j:plain

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に投げられることはありません!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です