I didn''t see any forums or lists for RSpec users, so I''m hoping there are RSpec users on this list who may be able to help. I have this in my routes.rb: map.signup ''signup/:step'', :controller => ''register'', :action => ''signup'', :step => 1 This test in the associated *.rspec file passes: it "should assign @step to 1 on a get to 1" do get ''signup'', :step => 1 assigns[:step].should equal(1) end This one fails: it "should assign @step to 1 on a get to /signup" do get ''signup'' assigns[:step].should equal(1) end Even though that second test fails, when running under mongrel the controller does the expected thing. If I GET /signup, the @step variable (which is simply assigned the value of params[:step] by a before_filter) is set to 1 appropriately. It seems that the default :step set in the routes.rb works when running in a server, but not during testing. I find this odd, since I am able to test my routes with route_for, and they all pass. It seems that during testing, some of what routes.rb specifies works, and some doesn''t. Is this to be expected, or have I managed to break something? It''s sort of hard for me to accept that I cannot test behavior of my controller that relies on mappings in routes.rb, so I''m guessing I''ve got something wrong somewhere. -- Bill Kocik http://bkocik.net --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
s.ross
2007-Jun-29 16:28 UTC
[rspec-users] [Rails] RSpec, controller testing, and routes.rb
rspec-users at rubyforge.org (cross-posting) On Jun 29, 2007, at 9:20 AM, Bill Kocik wrote:> > I didn''t see any forums or lists for RSpec users, so I''m hoping there > are RSpec users on this list who may be able to help. > > I have this in my routes.rb: > > map.signup ''signup/:step'', > :controller => ''register'', > :action => ''signup'', > :step => 1 > > This test in the associated *.rspec file passes: > > it "should assign @step to 1 on a get to 1" do > get ''signup'', :step => 1 > assigns[:step].should equal(1) > end > > This one fails: > > it "should assign @step to 1 on a get to /signup" do > get ''signup'' > assigns[:step].should equal(1) > end > > Even though that second test fails, when running under mongrel the > controller does the expected thing. If I GET /signup, the @step > variable (which is simply assigned the value of params[:step] by a > before_filter) is set to 1 appropriately. It seems that the default > :step set in the routes.rb works when running in a server, but not > during testing. I find this odd, since I am able to test my routes > with route_for, and they all pass. It seems that during testing, some > of what routes.rb specifies works, and some doesn''t. > > Is this to be expected, or have I managed to break something? It''s > sort of hard for me to accept that I cannot test behavior of my > controller that relies on mappings in routes.rb, so I''m guessing I''ve > got something wrong somewhere. > > -- > Bill Kocik > > http://bkocik.net > > --~--~---------~--~----~------------~-------~--~----~ > You received this message because you are subscribed to the Google > Groups "Ruby on Rails: Talk" group. > To post to this group, send email to rubyonrails-talk at googlegroups.com > To unsubscribe from this group, send email to rubyonrails-talk- > unsubscribe at googlegroups.com > For more options, visit this group at http://groups.google.com/ > group/rubyonrails-talk?hl=en > -~----------~----~----~----~------~----~------~--~--- >Steve Ross sross at calicowebdev.com http://www.calicowebdev.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/rspec-users/attachments/20070629/188905f6/attachment.html