On 7/9/07, Josh Knowles <[EMAIL PROTECTED]> wrote: > > > On 7/9/07, Johan Sørensen <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > Is there a way in RSpec to check for a specific hash key (or evaluating > other things along those lines) in the parameter expectation using the > should_receive(:find).with(...) construct? > > > As opposed to getting into complicated mocking scenarios, consider > abstracting this logic into your model: > http://blog.caboo.se/articles/2007/6/19/rspec-notes-from-the-trenches-2
Agreed that this is a good approach in terms of dealing w/ rails models. As for the question of isolating specific key/value pairs in a hash, you could do this: obj.should_receive(:message) do |*args| hash = args.pop hash[interesting_key].should == expected_value end It's not pretty, but it works. The other thing you might consider is a custom matcher. Something like: obj.should_receive(:message).with(has_key_value(key, value)) The mock framework can use these just as the expectation framework - though mocks rely on == instead of matches. David > > > > > -- > Josh Knowles > [EMAIL PROTECTED] > http://joshknowles.com > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users