Module: Spec::Mocks::ExampleMethods

Includes:
ArgumentMatchers
Included in:
Adapters::MockFramework
Defined in:
lib/spec/mocks/spec_methods.rb

Instance Method Summary collapse

Methods included from ArgumentMatchers

#any_args, #anything, #boolean, #duck_type, #hash_including, #hash_not_including, #instance_of, #kind_of, #no_args

Instance Method Details

#allow_message_expectations_on_nilObject

Disables warning messages about expectations being set on nil.

By default warning messages are issued when expectations are set on nil. This is to prevent false-positives and to catch potential bugs early on.



49
50
51
# File 'lib/spec/mocks/spec_methods.rb', line 49

def allow_message_expectations_on_nil
  Proxy.allow_message_expectations_on_nil
end

#mock(name, stubs_and_options = {}) ⇒ Object Also known as: stub

Shortcut for creating an instance of Spec::Mocks::Mock.

name is used for failure reporting, so you should use the role that the mock is playing in the example.

stubs_and_options lets you assign options and stub values at the same time. The only option available is :null_object. Anything else is treated as a stub value.

Examples

stub_thing = mock("thing", :a => "A")
stub_thing.a == "A" => true

stub_person = stub("thing", :name => "Joe", :email => "[email protected]")
stub_person.name => "Joe"
stub_person.email => "[email protected]"


23
24
25
# File 'lib/spec/mocks/spec_methods.rb', line 23

def mock(name, stubs_and_options={})
  Spec::Mocks::Mock.new(name, stubs_and_options)
end

#stub_everything(name = 'stub') ⇒ Object

DEPRECATED - use mock(‘name’).as_null_object instead

Shortcut for creating a mock object that will return itself in response to any message it receives that it hasn’t been explicitly instructed to respond to.



34
35
36
37
38
39
40
41
42
43
# File 'lib/spec/mocks/spec_methods.rb', line 34

def stub_everything(name = 'stub')
  Kernel.warn(<<-WARNING)

DEPRECATION: stub_everything('#{name}') is deprecated and will be removed
from a future version of rspec. Please use mock('#{name}').as_null_object
or stub('#{name}').as_null_object instead.

WARNING
  mock(name, :null_object => true)
end