2013-03-09 77 views
0

我有這個在我的routes.rb自定義路徑訪問Rspec的

scope constraints: lambda { |r| r.env['warden'].user.nil? } do 
    get "login", to: "sessions#new", as: "login" 
    end 

我試圖通過獲得rspec的訪問這些「得到‘註冊’」,但它不工作。

規格/控制器/ sessions_controller_spec.rb

describe "/sessions/new" do 
    it "will render if user is not yet logged in" do 
     get :new 
     response.response_code.should eq 200 
    end 

    it "will not render if user is logged in" do 
     user = FactoryGirl.create(:user) 
     request.env['warden'].set_user(user) 
     get "login" 
     response.response_code.should eq 404 
    end 
end 

這是我的錯誤:

Failure/Error: get "login" 
    ActionController::RoutingError: 
     No route matches {:controller=>"sessions", :action=>"login"} 
+1

那麼,錯誤信息是什麼? – Wukerplank 2013-03-09 10:03:17

+0

這是沒有足夠的信息來找出問題。請提供您的規格代碼和錯誤消息。 – 2013-03-09 13:00:01

+0

@BenjaminSullivan。我編輯了我的問題。我希望現在這個問題更清楚。 – neilmarion 2013-03-09 15:03:28

回答

0

規格/控制器/ sessions_controller_spec.rb是爲測試您的SessionsController。 signup是UsersController中的一項操作。在spec/controllers/users_controller_spec.rb中測試signup操作。

+0

這與我提問的問題沒有關係,但你是對的。我編輯了這個問題,因爲你的評論。 – neilmarion 2013-03-09 15:19:37

+0

如果你的問題實際上包含一個問題,這將有所幫助:) – 2013-03-10 03:34:09