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