Skip to content
Rspec-2 doubles (mocks and stubs) http://relishapp.com/rspec/rspec-mocks
Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
features
lib
spec
.autotest
.document
.gitignore
.travis.yml
Changelog.md
Gemfile
Guardfile
License.txt
README.md
Rakefile
cucumber.yml
rspec-mocks.gemspec
specs.watchr

README.md

RSpec Mocks

rspec-mocks provides a test-double framework for rspec including support for method stubs, fakes, and message expectations.

Install

gem install rspec       # for rspec-core, rspec-expectations, rspec-mocks
gem install rspec-mocks # for rspec-mocks only

Method Stubs

describe "consumer" do
  it "gets stuff from a service" do
    service = double('service')
    service.stub(:find) { 'value' }
    consumer = Consumer.new(service)
    consumer.consume
    consumer.aquired_stuff.should eq(['value'])
  end
end

Message Expectations

describe "some action" do
  context "when bad stuff happens" do
    it "logs the error" do
      logger = double('logger')
      doer = Doer.new(logger)
      logger.should_receive(:log).with('oops')
      doer.do_something_with(:bad_data)
    end
  end
end

Also see

Something went wrong with that request. Please try again.