提问人:David Wolff 提问时间:11/7/2023 更新时间:11/9/2023 访问量:27
控制器集成测试在follow_redirect后会丢失会话
Controller integration tests lose the session after follow_redirect
问:
在测试 rails 7 控制器时,一切都运行良好,直到我得到重定向,然后执行 .此时,会话神秘地消失了,我的测试无法再继续......非常有限。follow_redirect!
非常愚蠢的假设示例:
post some_url, params { yada: 'foo' }
assert_not_nil session[:yada]
assert_redirect some_redirect_url
follow_redirect!
assert_not_nil session[:yada] # This assertion fails, the session is gone
答:
1赞
David Wolff
11/7/2023
#1
TLDR:检查您是否在测试中使用了您的设置。如果是这样,请将配置行切换为::null_store
config.cache_store
config.cache_store = :memory_store
经过大量的调试和惊愕,我终于能够追踪到这个问题。在 rails 配置文件中,该设置设置为 。换掉这个来解决问题,一切又好了。像魅力一样工作......但花了几个小时才最终找到。test.rb
config.cache_store
:null_store
:memory_store
评论