stub!
stub!(sym, opts={})No documentation available.
# File lib/spec/mocks/methods.rb, line 12
def stub!(sym, opts={})
__mock_proxy.add_stub(caller(1)[0], sym.to_sym, opts)
end 3Notes
stub/stub! will always be followed by '.and_return'
this function will aways be followed by '.and_return(...)' because a stub is typically used for returning values. The required argument given to stub is a method name. When a message to this stubbed method name is received by a class or existing object of the class AND '.and_return' is provided, the stub will return whatever was provided as argument to '.and_return'.
For example,
HomeLoan.stub!(interest_rate).and_return('5.5%')
- this will return 5.5% when a message for interest_rate in a HomeLoan class's object is received.
HomeLoan.stub!(interest_rate).and_return('5.5%', '3%')
- this will return 5.5% when a message for interest_rate in a HomeLoan class's object is received FOR THE FIRST TIME but will return 3% for subsequent calls/messages.
Typical stub! usage
Typically you would call
my_object.stub!(:updated_at).and_return(time_object)
A stub with argument and return value
==== it "should use a dummy method with argument and return value" do dummy = mock("dummy").stub!(:emulate) dummy.should_receive(:emulate).with(:something).and_return("Done! sir!") dummy.emulate(:something).should == "Done! sir!" end