Hi all, I have a method calling Klass.create! two times with different
arguments (this happens in a class reponsable for reading in a csv file)
I want to test those like this:
in one test: Klass.should_receive(:create!).with(:name => “foo”).once
in another: Klass.should_receive(:create!).with(:name => “foo2”).once
This doesn’t work because the ‘once’ is only about the create! call,
it doesn’t use the arguments to make the call unique. Can I make this
work another way (not only should_receive(:create!).twice, I want to
test the arguments).
Hi all, I have a method calling Klass.create! two times with different
arguments (this happens in a class reponsable for reading in a csv file)
I want to test those like this:
in one test: Klass.should_receive(:create!).with(:name => “foo”).once
in another: Klass.should_receive(:create!).with(:name => “foo2”).once
This doesn’t work because the ‘once’ is only about the create! call,
Actually, that should work. ‘once’ is about the complete expectation
including the arguments. If this isn’t working you’ve uncovered a bug.
Please report it to the lighthouse (http://rspec.lighthouseapp.com)
with specific examples we can run and the output you’re getting.
found the problem after trying to make an example: I forgot to add a
stub! to accept the second call to create!
I didn’t find it sooner because the error was:
Mock ‘Class’ expected :create! with ({:name=>“foo”}) but received it
with ({:name=>“foo2”})
And it did get it with ({:name => “foo”}), but only the first time…
Thanks!
Ivo
Op 13-jan-08, om 14:00 heeft David C. het volgende geschreven:
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.