How to use rspec to test named routes?
-
Given I have a named route: map.some_route '/some_routes/:id', :controller => 'some', :action => 'other' How do I use the routing spec file 'spec/routing/some_routing_spec.rb' to test for that named route? I've tried this after the "describe SomeRouteController" block and it doesn't work, I get 'undefined method "helper": describe SomeRouteHelper, 'some routes named routes' do it 'should recognize some_route' do helper.some_route_path(23).should == '/some_routes/23' end end
-
Answer:
If this is in a controller spec, you can call the routing method directly, no helper needed. describe SomeController do it 'should recognize ma routes!' do thing_path(23).should == '/things/23' end end
btelles at Stack Overflow Visit the source
Other answers
In RSpec-Rails 2.7+ you can create a spec/routing directory and put your routing specs in there. See the https://www.relishapp.com/rspec/rspec-rails/docs/routing-specs for more info.
The Doctor What
You can do this in your controller specs with the assert_routing method, like so: describe UsersController do it "should recognize a specific users#show route" do assert_routing("/users/23", {:controller => "users", :action => "show", :id => 23}) end end More documentation is http://www.railsbrain.com/api/rails-2.3.2/doc/index.html?a=M000350&name=assert%5Frouting.
bantic
there's a nice shoulda matcher for this too: it { should route(:get, "/users/23").to(:action => "show", :id => 23) more information on using shoulda matchers with rspec: https://github.com/thoughtbot/shoulda-matchers
Jared
Related Q & A:
- How To Prepare Elitmus Ph Test?Best solution by Quora
- How to run android CTS test case?Best solution by Stack Overflow
- How much does an allergy test cost?Best solution by Yahoo! Answers
- How hard is the TABE test?Best solution by Yahoo! Answers
- How to pass driving written test in Washington?Best solution by Yahoo! Answers
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.