Ruby on rails 未捕获投掷:典狱长甚至包括Desive::TestHelper

Ruby on rails 未捕获投掷:典狱长甚至包括Desive::TestHelper,ruby-on-rails,rspec,devise,warden,Ruby On Rails,Rspec,Devise,Warden,我正在构建一个Rails JSON API,并尝试编写测试,以确保没有有效auth_令牌的请求满足401状态 我已经在我的spec_helper.rb(config.include designe::TestHelpers,type::controller)和我的控制器规范(如下所示)中包含了designe测试助手。我还在每次测试前设置@request.env['designe.mapping']=designe.mappings[:user]。在我的所有测试中,用户都经过了正确的身份验证,这些

我正在构建一个Rails JSON API,并尝试编写测试,以确保没有有效auth_令牌的请求满足401状态

我已经在我的spec_helper.rb(
config.include designe::TestHelpers,type::controller
)和我的控制器规范(如下所示)中包含了designe测试助手。我还在每次测试前设置
@request.env['designe.mapping']=designe.mappings[:user]
。在我的所有测试中,用户都经过了正确的身份验证,这些测试工作正常,但任何未经授权的请求都会导致:

 ArgumentError:
    uncaught throw :warden
由于Deave已经删除了:token_authenticable的实现,因此我采用了所描述的更安全的解决方案

还值得注意的是,我使用的是gem,因此我的ApplicationController继承自ActionController::API,而不是Base

我已经在互联网上搜索了很多关于这个错误的堆栈溢出问题,并尝试了我能想到的一切,但没有运气。据我所知,仅靠Desive测试助手就足够了,因为他们应该抓住:典狱长扔出并给出适当的401


如果你们能提供任何建议,我将不胜感激,如有必要,我可以更详细地修改这个问题。谢谢

我最近也遇到了同样的问题,在GitHub上发现了一个线程。实际上,我还没有机会测试我收到的答案,但我想我无论如何都会提供给你——也许这对你有用


哪几行代码会抛出
ArgumentError