Module Mocha::ObjectMethods
In: lib/mocha/inspect.rb
lib/mocha/metaclass.rb
lib/mocha/object.rb
lib/mocha/parameter_matchers/object.rb

Methods added all objects to allow mocking and stubbing on real objects.

Methods return a Mocha::Expectation which can be further modified by methods on Mocha::Expectation.

Methods

Public Instance methods

Adds an expectation that a method identified by method_name Symbol must be called exactly once with any parameters. Returns the new expectation which can be further modified by methods on Mocha::Expectation.

  product = Product.new
  product.expects(:save).returns(true)
  assert_equal true, product.save

The original implementation of Product#save is replaced temporarily.

The original implementation of Product#save is restored at the end of the test.

If method_names_vs_return_values is a Hash, an expectation will be set up for each entry using the key as method_name and value as return_value.

  product = Product.new
  product.expects(:valid? => true, :save => true)

  # exactly equivalent to

  product = Product.new
  product.expects(:valid?).returns(true)
  product.expects(:save).returns(true)

Adds an expectation that a method identified by method_name Symbol may be called any number of times with any parameters. Returns the new expectation which can be further modified by methods on Mocha::Expectation.

  product = Product.new
  product.stubs(:save).returns(true)
  assert_equal true, product.save

The original implementation of Product#save is replaced temporarily.

The original implementation of Product#save is restored at the end of the test.

If method_names_vs_return_values is a Hash, an expectation will be set up for each entry using the key as method_name and value as return_value.

  product = Product.new
  product.stubs(:valid? => true, :save => true)

  # exactly equivalent to

  product = Product.new
  product.stubs(:valid?).returns(true)
  product.stubs(:save).returns(true)

[Validate]