Class RR::DoubleDefinitions::Strategies::Verification::Mock
In: lib/rr/double_definitions/strategies/verification/mock.rb
Parent: VerificationStrategy

This method sets the Double to have a mock strategy. A mock strategy sets the default state of the Double to expect the method call with arguments exactly one time. The Double‘s expectations can be changed.

This method can be chained with proxy.

  mock.proxy(subject).method_name_1
  or
  proxy.mock(subject).method_name_1

When passed the subject, a DoubleDefinitionCreateBlankSlate is returned. Passing a method with arguments to the proxy will set up expectations that the a call to the subject‘s method with the arguments will happen, and return the prescribed value.

  mock(subject).method_name_1 {return_value_1}
  mock(subject).method_name_2(arg1, arg2) {return_value_2}

When passed the subject and the method_name, this method returns a mock Double with the method already set.

  mock(subject, :method_name_1) {return_value_1}
  mock(subject, :method_name_2).with(arg1, arg2) {return_value_2}

mock also takes a block for definitions.

  mock(subject) do
    method_name_1 {return_value_1}
    method_name_2(arg_1, arg_2) {return_value_2}
  end

Methods

do_call  

Protected Instance methods

[Source]

    # File lib/rr/double_definitions/strategies/verification/mock.rb, line 35
35:           def do_call
36:             definition.with(*args).once
37:           end

[Validate]