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

ruby-on-rails – “记住我”复选框的失败集成测试

发布时间:2020-12-16 19:31:18 所属栏目:百科 来源:网络整理
导读:我正在关注railstutorial.org第3版,我目前正致力于第8章:登录,注销. 我在代码清单8.51中找到了一些荒谬的东西(登录时没有记住测试),这段代码: assert_nil cookies['remember_token'] 当我执行:rake test时,它返回RED并出现以下错误: FAIL["test_login_wi
我正在关注railstutorial.org第3版,我目前正致力于第8章:登录,注销.

我在代码清单8.51中找到了一些荒谬的东西(登录时没有记住测试),这段代码:

assert_nil cookies['remember_token']

当我执行:rake test时,它返回RED并出现以下错误:

FAIL["test_login_without_remembering",UsersLoginTest,1.268578948]
 test_login_without_remembering#UsersLoginTest (1.27s)
    Expected "" to be nil.
    test/integration/users_login_test.rb:46:in `block in      <class:UsersLoginTest>'

但是,当我更改为此代码时:

assert_not_nil cookies['remember_token']

我执行:rake test,它返回GREEN并且登录 – 注销过程正常工作.

如果有人能解释这个案子?

谢谢.

解决方法

我犯了这个错误……

TL; DR;从sessions_controller.rb中删除记住用户

看看Listing 8.34.
你应该找到
记住用户
在session_controller.rb中.

现在参考同一个文件,看看Listing 8.49.
作者对这一行做了大量的介绍,但如果你只是粘贴它而不删除记住用户的调用,那么令牌仍会生成.

所以,当粘贴在这一行:

params [:session] [:remember_me] ==’1’?记住(用户):忘记(用户)

确保它正在替换呼叫以记住用户.

(编辑:李大同)

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

    推荐文章
      热点阅读