2013-10-21 46 views
0

定製的路由我有制定一個自定義路由:功能測試,以確認與色器件

devise_scope :user do 
    get '/login' => "devise/sessions#new",  :as => :new_user_session 
    get '/logout' => 'devise/sessions#destroy', 
    ... 

我想確保當請求/login被調用時,它被正確地路由到設計和響應是成功的。

如何測試自定義路由和成功請求?

回答

0

如果您使用內置的TestUnit進行測試,請在測試控制器上檢查Rails Guide

如果您使用的是Rspec,請查閱Rspec Github Page瞭解有關測試控制器的信息。

0

在這個特殊的例子中,我想說你想要兩個測試。一個用於路由,另一個用於成功的請求。使用RSpec的,這將是這個樣子:

#spec/routing/devise_routing_spec.rb 
require 'spec_helper' 

describe "Devise Routes" do 
    it "should route the login correctly" do 
     {:get => "login"}.should route_to(controller: "devise/sessions", action: "new") 
    end 
end 

#spec/controllers/devise/session_controller_spec.rb 
require 'spec_helper' 
describe Devise::Sessions do 
    it "should be successful with a login request" do 
    get "new" 
    response.should be_success 
    end 
end