我正試圖在rails應用程序上使用ruby來做一些內容測試,以及我使用設計gem來實現用戶身份驗證。我無法登錄到我的應用程序來執行我的測試用例。在rails應用程序中通過水豚身份驗證
最初,我的情況如下:
scenario "User arrives at main page" do
visit "purchase_orders#index"
page.should have_content("All")
# some more tests and checks
end
凡purchase_orders#指數是通過身份驗證的根,其中用戶的採購訂單中。 但是當我運行測試,我發現了以下錯誤:
expected to find text "All" in "Log in to manage your orders * Email * Password Forgot your password? Remember me Sign up • Didn't receive confirmation instructions? About Us • Contact Us •
它告訴我,它沒有得到過去的登錄頁面。接下來我嘗試添加以下到我的情況下,在運行測試之前,使其登錄:
visit "purchase_orders#index"
fill_in('Email', :with => '[email protected]')
fill_in('Password', :with => 'password')
click_button('Log in')
其中用戶名和密碼是實際創建的帳戶,但它再次失敗,而且不會讓過去的標誌頁。最後,我嘗試了以前添加(:每個)方法,如下所示,試圖在測試用例簽署用戶:
before(:each) do
visit "users/sessions#new"
fill_in('Email', :with => '[email protected]')
fill_in('Password', :with => 'password')
click_button('Log in')
end
這又沒有爲我工作。所以我的問題是:通過登錄頁面和實際應用程序的最佳做法和語法是什麼?我查找了文檔和答案,但沒有找到任何東西。
謝謝!