2012-06-09 56 views
0

我正在使用這個腳本的登錄RSpec的測試說,有我在使用後

describe "Sessions" do 
    describe "GET /sessions/new" do 
    it "works! (now write some real specs)" do 
     # Run the generator again with the --webrat flag if you want to use webrat methods/matchers 
     post "/session/new", { :username => "user", :password => "pass" } 
     response.should redirect_to("/dashboard") 
    end 
    end 
end 

當我嘗試這通過RSpec的測試我的登錄頁面,rspec的說,一個路由錯誤:

ActionController::RoutingError: 
No route matches [POST] "/session/new" 

但我知道/ session/new是一個有效的路由。另外,如果我只嘗試默認生成的內容,即get "sessions/new"而不是postpost_via_redirect,而不嘗試測試用戶名和密碼,則它可以正常工作。所以基本上,我只是想測試用戶發佈他的用戶名和密碼的登錄頁面。有什麼我在這裏失蹤?

+0

您不應該發佈到'/ sessions'嗎? –

+0

你可以運行'rake routes'來驗證你確定的東西是否真的如此。 –

回答

0

如果您使用的是寧靜路線,'/ sessions/new'只應答GET請求。該網址用於向用戶提交表單。

您應該發佈到「/ sessions」而不是

+0

謝謝!就是這樣 – yiinewbie