loading...

Stubbing calls to AWS in Rails tests

prathamesh profile image Prathamesh Sonpatki Updated on ・1 min read

I use aws-sdk gem to deal with file uploads to S3 in my Rails application. I needed to add tests for the account logo upload and removal feature. I use Paperclip gem to do the file uploads.

Typically, applications use file storage in test environment to avoid hitting AWS API but in this application I was constrained to not use file storage in test environment.

Obviously I did not want to hit the AWS API during tests. I came up with a solution using a technique provided by aws-sdk gem.

Just drop following line of code in test_helper or rails_helper.

# Stub all calls to AWS
  config.before do
    Aws.config.update(stub_responses: true)
  end

And you are good. All API calls to AWS are now stubbed!

Happy testing.

Discussion

pic
Editor guide