class Shoegaze::Mock
Provides the top-level mocking interface from which our mocks will inherit.
Public Class Methods
mock(class_name)
click to toggle source
Creates a Shoegaze
mock proxy for the provided class name
@param class_name [String] String name of the constant to mock @return [Class.new(Shoegaze::Proxy
)] The created Shoegaze
proxy. Use this as the replacement for your real implementation.
example:
class RealClass end class FakeClass < Shoegaze::Mock mock "RealClass" end
# File lib/shoegaze/mock.rb, line 21 def mock(class_name) @mock_class_double = class_double(class_name) @mock_instance_double = instance_double(class_name) extend_double_with_extra_methods(@mock_instance_double) extend_double_with_extra_methods(@mock_class_double) @implementations = {class: {}, instance: {}} proxy end