我想測試一個頁面的登錄是否有效,所以我創建了兩個測試,如果URL更改和內容更改。水豚登錄測試
這是我的看法:
<%= f.email_field :email, :autofocus => true, placeholder: "Email" %>
<%= f.password_field :password, placeholder: "Password" %>
<%= f.submit "Login" %>
算法:
visit '/users/sign_in'
fill_in 'Email', with: email
fill_in 'Password', with: password
click_on 'Login'
測試:
expect(page).to have_content('Welcome')
結果:預計在 「登錄」 查找文本 「歡迎」
expect(current_path).to eql('/home')
結果:預計:「/家」了:「/」
所有的測試失敗,我不知道爲什麼,我用有效的登錄名和我可以手動使用登錄成功。
因爲您的身份驗證系統重定向到'root_path'(/)而不是'/ home'。 – max
http://guides.rubyonrails.org/routing.html#using-root – max
也應該添加運行測試報告的錯誤。像'expect current_path to eql('/ home'),但是'/'' –