Module: NotAMock::Matchers
- Defined in:
- lib/not_a_mock/matchers.rb,
lib/not_a_mock/matchers/args_matcher.rb,
lib/not_a_mock/matchers/call_matcher.rb,
lib/not_a_mock/matchers/times_matcher.rb,
lib/not_a_mock/matchers/method_matcher.rb,
lib/not_a_mock/matchers/result_matcher.rb,
lib/not_a_mock/matchers/anything_matcher.rb
Overview
Message Assertions
You can assert that an object should have received particular messages:
object.should have_received(:message)
object.should_not have_received(:message)
Further restrictions cannot be added after should_not have_received.
You can also make general assertions about whether an object should have received any messages:
object.should have_been_called
object.should_not have_been_called
Argument Assertions
You can assert that a call was made with or without arguments:
object.should have_received(:message).with(arg1, arg2, ...)
object.should have_received(:message).without_args
See NotAMock::Matchers::ArgsMatcher for more information.
Return Value Assertions
object.should have_received(:message).and_returned(return_value)
object.should have_received(:message).with(arg1, arg2, ...).and_returned(return_value)
Count Assertions
object.should have_received(:message).once
object.should have_received(:message).with(arg1, arg2, ...).twice
object.should have_received(:message).with(arg1, arg2, ...).and_returned(return_value).exactly(n).times
object.should have_been_called.exactly(n).times
Any count specifier must go at the end of the expression.
The exception to this rule is once
, which allows things like this:
object.should have_received(:message).once.with(arg1, arg2, ...).and_returned(return_value)
which verifies that message
was called only once, and that call had the given arguments and return value.
Note that this is subtly different from:
object.should have_received(:message).with(arg1, arg2, ...).and_returned(return_value).once
which verifies that message
was called with the given arguments and return value only once. It may, however, have been called with different arguments and return value at other times.
Assertion Failures
FIXME: Write some docs about the nice error messages.
Defined Under Namespace
Classes: AnythingMatcher, ArgsMatcher, CallMatcher, MethodMatcher, ResultMatcher, TimesMatcher