加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 尝试使用Capybara,Cucumber,RSpec和Devise登录

发布时间:2020-12-17 02:04:41 所属栏目:百科 来源:网络整理
导读:尝试使用Cucumber和Devise传递一个非常简单的场景 – 用户签名…(EPIC FAIL) 我有一个这样的步骤: user = create(user_sym)user.confirm!visit new_user_session_pathfill_in 'Email',:with = user.emailfill_in 'Password',:with = attributes_for(user_sy
尝试使用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正在重定向?我已经看到人们得到这个是工作,并在我的开发堆栈中,它显然重定向到用户索引页面,如你所料.

任何光都非常赞赏.

解决方法

我通过在ApplicationController中的after_sign_in_path_for中返回特定路径来修复此问题

def after_sign_in_path_for(resource)
    xxxxx_path
  end

以某种方式黄瓜测试中的根路由被重定向到“example.com”

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读