Module: MockServer::RSpec

Defined in:
lib/mockserver/rspec.rb

Overview

RSpec integration helpers for MockServer.

Require this file from your spec_helper.rb to get a shared context that provides a fresh Client per example and automatically resets the server between examples, so recorded requests, expectations and logs never leak from one example to the next:

require 'mockserver/rspec'

RSpec.describe 'my integration', :mockserver do
  it 'records the request' do
    # `mockserver` is the shared, reset client
    mockserver.when(MockServer::HttpRequest.request(path: '/hello'))
              .respond(MockServer::HttpResponse.response(body: 'world'))
  end
end

The host and port default to 127.0.0.1:1080 and can be overridden with the MOCKSERVER_HOST / MOCKSERVER_PORT environment variables, or by defining a mockserver_host / mockserver_port let in your example group.

Constant Summary collapse

SHARED_CONTEXT_NAME =
'mockserver client'