gpt4 book ai didi

ruby-on-rails-3 - 在功能性 Rails 测试中为 authentication_user 抛出设计管理员错误

转载 作者:行者123 更新时间:2023-12-04 11:41:51 24 4
gpt4 key购买 nike

我有一个资源,其中新操作需要用户登录才能查看。如果用户在未登录的情况下尝试创建新资源,他们将被重定向(302'd)到登录页面。我的功能测试如下所示:

  test "should not get new unless logged in" do
get :new
assert_response :redirect
end

堆栈跟踪看起来像这样:
ArgumentError: uncaught throw :warden
/.../gems/warden-1.1.1/lib/warden/proxy.rb:114:in `throw'
/.../gems/ruby-1.9.2-p318/gems/warden-1.1.1/lib/warden/proxy.rb:114:in `authenticate!'
/.../gems/ruby-1.9.2-p318/gems/devise-2.0.4/lib/devise/controllers/helpers.rb:48:in `authenticate_user!'

在新操作之前,我有一个 before_filter 来验证用户。

我明白为什么authenticate_user!失败,但我不明白为什么它会抛出错误。它不应该只是像在 webapp 中那样表现,即。将用户重定向到登录页面?

谢谢。

最佳答案

做为documentation说:

class ActionController::TestCase
include Devise::TestHelpers
end

特别是,不要放 include Devise::TestHelpers 进入 class ActiveSupport ::TestCase .

关于ruby-on-rails-3 - 在功能性 Rails 测试中为 authentication_user 抛出设计管理员错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11152671/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com