首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Rails教程9.25测试失败,预期"“为零

Rails教程9.25测试失败,预期"“为零
EN

Stack Overflow用户
提问于 2016-12-11 00:58:41
回答 2查看 498关注 0票数 0

我正在学习Michael Hartl Ruby on Rails 5教程,我在测试中遇到了一个我似乎找不到的错误。包含的屏幕截图显示了测试的调试输出。特别是,它表明应该删除的“remember_token”的行为很奇怪。如果我将调试代码放到forget()函数中,它看起来是删除的,并且是空的,但在集成测试中,它似乎并没有完全删除。取而代之的是从nil返回"“?测试而不是true/false。user_id cookie也有同样的问题,但是测试中从未正确创建的诸如'blah‘之类的cookie响应为nil?是真的。有什么想法吗?

实际删除:remember_token的forget方法

def forget(user)
  user.forget
  cookies.delete(:user_id)
  cookies.delete(:remember_token)
end

如果屏幕截图不清楚,这里是失败的测试:

test "login without remembering" do
  # Log in to set the cookie.
  log_in_as(@user, remember_me: '1')
  delete logout_path
  # Log in again and verify that the cookie is deleted.
  log_in_as(@user, remember_me: '0')
  Rails::logger.debug "**************************************************"
  Rails::logger.debug cookies['blah'].nil?
  Rails::logger.debug cookies['remember_token'].nil?
  Rails::logger.debug "**************************************************"
  assert_nil cookies['remember_token']
end

以下是日志文件中的输出:

Completed 302 Found in 2ms (ActiveRecord: 0.1ms)
**************************************************
true

**************************************************

下面是测试结果中的错误消息:

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

EN

回答 2

Stack Overflow用户

发布于 2019-06-05 09:06:20

sessions_controller.rb的教程建议可能需要更改回原始建议:

params[:session][:remember_me] == '1' ? remember(user) : forget(user)
票数 0
EN

Stack Overflow用户

发布于 2021-04-03 07:52:09

我自己也是新手,但我不会...

断言cookies“‘remember_token”。空白吗?

工作时仍然显示remember_token已不存在,问题似乎是记住令牌现在为空,而不是

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41077991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档