尝试使用Cucumber和Devise传递一个非常简单的场景 - 用户签名...(EPIC FAIL)
我有一个这样的步骤:
user = create(user_sym)
user.confirm!
visit new_user_session_path
fill_in 'Email',:with => user.email
fill_in 'Password',:with => attributes_for(user_sym)[:password]
click_button 'Sign in'
page.should have_content('Sign out')
日志显示我一切都很好(确认发送电子邮件,UPDATE插入正确的确认标志),然后我看到重定向到
www.example.com
此处和其他地方的很多帖子都提到了这一点,并使用login_user:callback =>是的,以使其工作,但我想使用“访问”。
造成这种情况的原因。实际错误是失败的TEST,即退出文本没有出现。正在呈现的是Rails主页,即
expected there to be text "Sign out" in "Browse the documentation Rails Guides Rails API Ruby core Ruby standard library Welcome aboard
我无法弄清楚堆栈的哪一部分正在抛出这个(因为我很新!)。据推测,Capybara正在重定向?我已经看到人们认为这是可行的,并且在我的开发堆栈中,它可以清楚地重定向到用户索引页面,如你所料。
任何光都非常赞赏。
答案 0 :(得分:1)
我通过在ApplicationController
中的after_sign_in_path_for中返回特定路径来修复此问题 def after_sign_in_path_for(resource)
xxxxx_path
end
黄瓜测试中的根路径被重定向到“example.com”