Ruby on rails 未捕获投掷:典狱长甚至包括Desive::TestHelper
我正在构建一个Rails JSON API,并尝试编写测试,以确保没有有效auth_令牌的请求满足401状态 我已经在我的spec_helper.rb(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]。在我的所有测试中,用户都经过了正确的身份验证,这些
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
?