Class: BasicObject
- Defined in:
- lib/rspec/mocks/syntax.rb
Overview
The legacy :should
syntax adds the following methods directly to
BasicObject
so that they are available off of any object. Note, however,
that this syntax does not always play nice with delegate/proxy objects.
We recommend you use the non-monkeypatching :expect
syntax instead.
Instance Method Summary (collapse)
-
- (Object) as_null_object
Tells the object to respond to all messages.
-
- (Object) null_object?
Returns true if this object has received
as_null_object
. -
- (Object) should_not_receive
Sets and expectation that this object should not receive a message during this example.
-
- (Object) should_receive
Sets an expectation that this object should receive a message before the end of the example.
-
- (Object) stub
Tells the object to respond to the message with the specified value.
-
- (Object) stub_chain
Stubs a chain of methods.
-
- (Object) unstub
Removes a stub.
Instance Method Details
- (Object) as_null_object
This is only available when you have enabled the should
syntax.
Tells the object to respond to all messages. If specific stub values are declared, they'll work as expected. If not, the receiver is returned.
|
# File 'lib/rspec/mocks/syntax.rb', line 283
|
- (Object) null_object?
This is only available when you have enabled the should
syntax.
Returns true if this object has received as_null_object
|
# File 'lib/rspec/mocks/syntax.rb', line 294
|
- (Object) should_not_receive
Sets and expectation that this object should not receive a message during this example.
|
# File 'lib/rspec/mocks/syntax.rb', line 225
|
- (Object) should_receive
This is only available when you have enabled the should
syntax.
Sets an expectation that this object should receive a message before the end of the example.
|
# File 'lib/rspec/mocks/syntax.rb', line 212
|
- (Object) stub
This is only available when you have enabled the should
syntax.
Tells the object to respond to the message with the specified value.
|
# File 'lib/rspec/mocks/syntax.rb', line 230
|
- (Object) stub_chain(method1, method2) - (Object) stub_chain("method1.method2") - (Object) stub_chain(method1, method_to_value_hash)
This is only available when you have enabled the should
syntax.
Stubs a chain of methods.
Warning:
Chains can be arbitrarily long, which makes it quite painless to
violate the Law of Demeter in violent ways, so you should consider any
use of stub_chain
a code smell. Even though not all code smells
indicate real problems (think fluent interfaces), stub_chain
still
results in brittle examples. For example, if you write
foo.stub_chain(:bar, :baz => 37)
in a spec and then the
implementation calls foo.baz.bar
, the stub will not work.
|
# File 'lib/rspec/mocks/syntax.rb', line 252
|
- (Object) unstub
This is only available when you have enabled the should
syntax.
Removes a stub. On a double, the object will no longer respond to
message
. On a real object, the original method (if it exists) is
restored.
This is rarely used, but can be useful when a stub is set up during a
shared before
hook for the common case, but you want to replace it
for a special case.
|
# File 'lib/rspec/mocks/syntax.rb', line 241
|