Ruby on rails 如何将_重定向到designe认证控制器测试的request.referer?

Ruby on rails 如何将_重定向到designe认证控制器测试的request.referer?,ruby-on-rails,ruby,devise,ruby-on-rails-5,Ruby On Rails,Ruby,Devise,Ruby On Rails 5,我想通过考试。我正在测试的控制器操作通过重定向到request.referer来完成,它在开发中工作 在我的控制器测试中,我得到: ActionController::ActionControllerError:无法重定向到nil 以下是测试: it 'should update a group' do put :update, id: group1.id, group: { name: 'foo' } expect(response).to be_success end 我对同一个控

我想通过考试。我正在测试的控制器操作通过重定向到request.referer来完成,它在开发中工作

在我的控制器测试中,我得到:

ActionController::ActionControllerError:无法重定向到nil

以下是测试:

it 'should update a group' do
  put :update, id: group1.id, group: { name: 'foo' }
  expect(response).to be_success
end
我对同一个控制器进行了其他测试

expect(response).to be_success
…如果他们测试的操作通过呈现或重定向到非
请求的内容来完成,则他们通过

我正在该控制器中验证我的用户:

before_action :authenticate_user!
我在每个例子前面都有:

before(:each) do
  sign_in user1
end
我正在这样配置RSpec:

RSpec.configure do |config|
  config.include Devise::Test::ControllerHelpers, type: :controller
end
据我所知,如果我将头散列传递给测试请求(例如使用“HTTP_REFERER”),它将覆盖designe中的头散列。这里的解决方案是正确设置散列吗


我使用的是rspec rails(3.5.2),Desive(4.2.0),rails(5.0.0.1)

您是否尝试过以下选项:@tkz79让我得到了解决。谢谢。你有没有试过以下几种方法:@tkz79让我得到了解决。非常感谢。