Method: RSpec::Mocks::MessageExpectation#with
- Defined in:
- lib/rspec/mocks/message_expectation.rb
#with(*args, &block) ⇒ MessageExpectation
Constrains a stub or message expectation to invocations with specific arguments.
With a stub, if the message might be received with other args as well,
you should stub a default value first, and then stub or mock the same
message using with to constrain to specific arguments.
A message expectation will fail if the message is received with different arguments.
359 360 361 362 363 364 365 366 367 368 369 |
# File 'lib/rspec/mocks/message_expectation.rb', line 359 def with(*args, &block) raise_already_invoked_error_if_necessary(__method__) if args.empty? raise ArgumentError, "`with` must have at least one argument. Use `no_args` matcher to set the expectation of receiving no arguments." end self.inner_implementation_action = block @argument_list_matcher = ArgumentListMatcher.new(*args) self end |