© Copyright 2010-2011 C42 Engineering. All Rights Reserved.
RSpec HTTP is a RSpec extension library that adds support for writing specs that cover HTTP based APIs (or more popularly, RESTful APIs).
To use this library, first add the rspec-http gem to your Gemfile like so:
gem 'rspec-http'
Then add the following line to your spec_helper.rb:
require 'rspec/http'
This will make matchers such as the ones listed below available to you in your specs.
expect(response).to be_http_ok expect(response).to be_http_created expect(response).to be_http_unprocessable_entity expect(response).to be_http_im_a_teapot expect(response).to have_header('Content-Type') expect(response).to have_header('Content-Type' => 'application/json') expect(response).to have_header('Content-Type' => /json/)
If you’re using Rails (and implicitly, rspec-rails), the same http code matchers will also be available in your controller specs without the http
namespace.
In other words, in your controller specs you can do:
expect(response).to be_ok expect(response).to be_created expect(response).to be_unprocessable_entity expect(response).to be_im_a_teapot