Module: Mocha::ClassMethods

Defined in:
lib/mocha/class_methods.rb

Overview

Methods added to all classes to allow mocking and stubbing on real (i.e. non-mock) objects.

Instance Method Summary collapse

Instance Method Details

#any_instanceMock

Returns a mock object which will detect calls to any instance of this class.

Examples:

Return false to invocation of Product#save for any instance of Product.

Product.any_instance.stubs(:save).returns(false)
product_1 = Product.new
assert_equal false, product_1.save
product_2 = Product.new
assert_equal false, product_2.save

Returns:

  • (Mock)

    a mock object which will detect calls to any instance of this class.

Raises:

  • (StubbingError)

    if attempting to stub method which is not allowed.



45
46
47
48
49
50
# File 'lib/mocha/class_methods.rb', line 45

def any_instance
  if frozen?
    raise StubbingError.new("can't stub method on frozen object: #{mocha_inspect}.any_instance", caller)
  end
  @any_instance ||= AnyInstance.new(self)
end