2013-10-23 72 views
0

我試圖運行黃瓜測試,涉及制定和下面的代碼工作失敗:黃瓜水豚/機架測試不刪除路徑

When /^I logout$/ do 
    page.driver.submit :delete, destroy_user_session_path, {} 
end 

我收到的錯誤消息是:

No route matches [GET] "/" (ActionController::RoutingError) 
./features/steps/authentication_steps.rb:16:in `/^I logout$/' 
./features/steps/authentication_steps.rb:11:in `/^I am not logged in$/ 
features/authentication_admin.feature:8:in `And I am not logged in' 

然而,路由沒有出現在我的路線,當我做一耙路線RAILS_ENV =測試

destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy 

任何想法HEL我調試?謝謝!

回答

1

IMO - Devise是一款經過充分測試的寶石。 可能沒有意義測試註銷方法。

我寧願用正確的href使用RSpec測試註銷按鈕的存在。

或者在Controller Spec中使用Warden測試模式 - 以防您想要測試某些特定行爲。

+0

我沒有測試設計。這是我需要在註銷狀態下設置場景的一個黃瓜步驟。然後我將有後續步驟來測試其他定製功能。 –

+0

你指點什麼了? –

+0

作者golly就是這樣!我沒有指向任何內容的根目錄,因爲這只是另一個應用程序的管理面板,因此沒有主頁。我通過設置一個爲任何根請求呈現HTTP 200的控制器來修復它。謝謝你幫助我看到! –