On Nov 15, 2010, at 10:31 PM, Sai Babu wrote:

> Hi friends
> 
> in my rspec_controller
> 
> 1...@user.articles.should_receive(:find_by_id).with('1').and_return(@article)
> 
> get :show,:id => 1
> 
> in above example 1 if i mention get :show, :id => 1 below the
> schould_receive
> it is working fine
> 
> but
> 2]get :show,:id => 1
> @user.articles.should_receive(:find_by_id).with('1').and_return(@article)
> 
> if i mention in the above way it is raising error!
> 
> Why ?
> What is the reason?
> Could any one explain please ?
> Thanks in advance?

When you say "foo.should_receive(:bar)" you're saying "foo should receive bar 
sometime between now and the end of this example. The first example, the "get" 
is doing something that causes @user.articles to receive :find_by_id, but in 
the second example that's already happened before you set the expectation and 
does not happen again, so you get a failure message.

HTH,
David
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to