module Mocha::ObjectMethods
def stubs(stubbed_methods_vs_return_values)
- See: Mock#stubs -
Other tags:
- Example: Setting up multiple stubbed methods on a non-mock object. -
Example: Setting up a stubbed methods on a non-mock object. -
Parameters:
-
stubbed_methods_vs_return_values(Hash) -- stubbed method name symbols as keys and corresponding return values as values - these stubbed methods are setup as if {#stubs} were called multiple times. -
method_name(Symbol, String) -- name of stubbed method
Overloads:
-
def stubs(stubbed_methods_vs_return_values) -
def stubs(method_name)
Raises:
-
(StubbingError)- if attempting to stub method which is not allowed.
Returns:
-
(Expectation)- last-built expectation which can be further modified by methods on {Expectation}.
def stubs(stubbed_methods_vs_return_values) if frozen? raise StubbingError.new("can't stub method on frozen object: #{mocha_inspect}", caller) end expectation = nil mockery = Mocha::Mockery.instance iterator = ArgumentIterator.new(stubbed_methods_vs_return_values) iterator.each do |*args| method_name = args.shift mockery.on_stubbing(self, method_name) method = stubba_method.new(stubba_object, method_name) mockery.stubba.stub(method) expectation = mocha.stubs(method_name, caller) expectation.returns(args.shift) unless args.empty? end expectation end