RSpec HTTP 0.11.0

© 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/)

Rails

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