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

ruby-on-rails – 使用Rspec和Capybara测试登录重定向

发布时间:2020-12-17 02:17:58 所属栏目:百科 来源:网络整理
导读:这是我正在研究的测试用例: it "should allow you to login" do visit "/" fill_in 'Email',:with = 'user@example.org' fill_in 'Pass',:with = 'password' click_button 'Login' current_url.should =~ /dashboard/end 这个特殊的测试失败了.我想知道的是
这是我正在研究的测试用例:

it "should allow you to login" do
    visit "/"
    fill_in 'Email',:with => 'user@example.org'
    fill_in 'Pass',:with => 'password'
    click_button 'Login'
    current_url.should =~ /dashboard/
end

这个特殊的测试失败了.我想知道的是,它是否失败,因为它无法登录,但因为我检查current_url太快而失败.在click_button任务执行并且rails重定向用户之前,“等待”的正确方法是什么?

解决方法

您是否尝试过手动转到主页,使用这些凭据登录,然后看看会发生什么?如果你能够做到这一点,那么你就可以排除它不起作用的想法.

我建议使用内置的断言,而不是匹配URL的名称.像这样:

assert_response(:redirect)
assert_redirected_to(dashboard_path)

在任何一种情况下,您都不必等待按钮单击.

(编辑:李大同)

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

    推荐文章
      热点阅读