Parent

Methods

MiniTest::Mock

All mock objects are an instance of Mock

Public Instance Methods

expect(name, retval, args=[]) click to toggle source

Expect that method name is called, optionally with args, and returns retval.

@mock.expect(:meaning_of_life, 42)
@mock.meaning_of_life # => 42

@mock.expect(:do_something_with, true, [some_obj, true])
@mock.do_something_with(some_obj, true) # => true

args is compared to the expected args using case equality (ie, the ‘===’ operator), allowing for less specific expectations.

@mock.expect(:uses_any_string, true, [String])
@mock.uses_any_string("foo") # => true
@mock.verify  # => true

@mock.expect(:uses_one_string, true, ["foo"]
@mock.uses_one_string("bar") # => true
@mock.verify  # => raises MockExpectationError
# File lib/minitest/mock.rb, line 46
def expect(name, retval, args=[])
  @expected_calls[name] = { :retval => retval, :args => args }
  self
end
verify() click to toggle source

Verify that all methods were called as expected. Raises MockExpectationError if the mock object was not called as expected.

# File lib/minitest/mock.rb, line 56
def verify
  @expected_calls.each_key do |name|
    expected = @expected_calls[name]
    msg1 = "expected #{name}, #{expected.inspect}"
    msg2 = "#{msg1}, got #{@actual_calls[name].inspect}"

    raise MockExpectationError, msg2 if
      @actual_calls.has_key? name and
      not @actual_calls[name].include?(expected)

    raise MockExpectationError, msg1 unless
      @actual_calls.has_key? name and @actual_calls[name].include?(expected)
  end
  true
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.