Module: Spec::Mocks::ExampleMethods
- Includes:
- ArgumentMatchers
- Defined in:
- lib/spec/mocks/example_methods.rb
Instance Method Summary collapse
-
#__declare_double(declared_as, *args) ⇒ Object
:nodoc:.
-
#allow_message_expectations_on_nil ⇒ Object
Disables warning messages about expectations being set on nil.
-
#double(*args) ⇒ Object
Shortcut for creating an instance of Spec::Mocks::Mock.
-
#mock(*args) ⇒ Object
Alias for double.
-
#stub(*args) ⇒ Object
Alias for double.
-
#stub_everything(name = 'stub') ⇒ Object
DEPRECATED - use double(‘name’).as_null_object instead.
Methods included from ArgumentMatchers
#any_args, #anything, #boolean, #duck_type, #hash_including, #hash_not_including, #instance_of, #kind_of, #no_args
Instance Method Details
#__declare_double(declared_as, *args) ⇒ Object
:nodoc:
37 38 39 40 41 |
# File 'lib/spec/mocks/example_methods.rb', line 37 def __declare_double(declared_as, *args) # :nodoc: args << {} unless Hash === args.last args.last[:__declared_as] = declared_as Spec::Mocks::Mock.new(*args) end |
#allow_message_expectations_on_nil ⇒ Object
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.
63 64 65 |
# File 'lib/spec/mocks/example_methods.rb', line 63 def Proxy. end |
#double(*args) ⇒ Object
Shortcut for creating an instance of Spec::Mocks::Mock.
name
is used for failure reporting, so you should use the role that the double 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
thing = double("thing", :a => "A")
thing.a == "A" => true
person = double("thing", :name => "Joe", :email => "[email protected]")
person.name => "Joe"
person.email => "[email protected]"
23 24 25 |
# File 'lib/spec/mocks/example_methods.rb', line 23 def double(*args) __declare_double('Double', *args) end |
#mock(*args) ⇒ Object
Alias for double
28 29 30 |
# File 'lib/spec/mocks/example_methods.rb', line 28 def mock(*args) __declare_double('Mock', *args) end |
#stub(*args) ⇒ Object
Alias for double
33 34 35 |
# File 'lib/spec/mocks/example_methods.rb', line 33 def stub(*args) __declare_double('Stub', *args) end |
#stub_everything(name = 'stub') ⇒ Object
DEPRECATED - use double(‘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.
48 49 50 51 52 53 54 55 56 57 |
# File 'lib/spec/mocks/example_methods.rb', line 48 def stub_everything(name = 'stub') Spec.warn(<<-WARNING) DEPRECATION: stub_everything('#{name}') is deprecated and will be removed from a future version of rspec. Please use double('#{name}').as_null_object (or stub('#{name}').as_null_object or mock('#{name}').as_null_object instead. WARNING mock(name, :null_object => true) end |