Logo: Relish

  1. Sign in

Project: RSpec Mocks 2.14

configure any test framework to use rspec-mocks

Test frameworks that want to use rspec-mocks can use
RSpec::Mocks::setup(self) to hook into rspec-mocks. Doing so adds the
following:

To the object passed to setup:

double # creates a test double
mock   # creates a test double
stub   # creates a test double

To every object in the system:

should_receive
should_not_receive
stub

NOTICE: the stub() method that is added to the object passed to setup is not
the same stub() method that is added to every other object.

Scenarios
RSpec::Mocks::setup(object) adds double, mock, and stub methods to the submitted object
Given
a file named "foo.rb" with:
require 'rspec/mocks'

class CodeExample
  def init
    RSpec::Mocks::setup(self)
  end
end

example = CodeExample.new
example.init

puts example.respond_to?(:double)
puts example.respond_to?(:mock)
puts example.respond_to?(:stub)
When
I run ruby foo.rb
Then
the output should contain "true"
But
the output should not contain "false"
RSpec::Mocks::setup(anything) adds methods to Object
Given
a file named "foo.rb" with:
require 'rspec/mocks'

RSpec::Mocks::setup(Object.new)

obj = Object.new

puts obj.respond_to?(:should_receive)
puts obj.respond_to?(:should_not_receive)
puts obj.respond_to?(:stub)
When
I run ruby foo.rb
Then
the output should contain "true"
But
the output should not contain "false"

Last published almost 5 years ago by myronmarston.