Module | RSpec::Mocks::ArgumentMatchers |
In: |
lib/rspec/mocks/argument_matchers.rb
|
ArgumentMatchers are placeholders that you can include in message expectations to match arguments against a broader check than simple equality.
With the exception of `any_args` and `no_args`, they all match against the arg in same position in the argument list.
@see ArgumentListMatcher
Matches any args at all. Supports a more explicit variation of `object.should_receive(:message)`
@example
object.should_receive(:message).with(any_args)
Matches if the actual argument responds to the specified messages.
@example
object.should_receive(:message).with(duck_type(:hello)) object.should_receive(:message).with(duck_type(:hello, :goodbye))
Matches a hash that doesn‘t include the specified key(s) or key/value.
@example
object.should_receive(:message).with(hash_excluding(:key => val)) object.should_receive(:message).with(hash_excluding(:key)) object.should_receive(:message).with(hash_excluding(:key, :key2 => :val2))
Matches a hash that includes the specified key(s) or key/value pairs. Ignores any additional keys.
@example
object.should_receive(:message).with(hash_including(:key => val)) object.should_receive(:message).with(hash_including(:key)) object.should_receive(:message).with(hash_including(:key, :key2 => val2))
Matches if `arg.instance_of?(klass)`
@example
object.should_receive(:message).with(instance_of(Thing))