我试图通过测试。控制器操作I测试以redirect_to request.referrer
结束,并且可以在开发中使用。
在我的控制器测试中,我得到了:
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
......如果他们通过呈现或重定向到非request.referer
的内容而完成测试,则他们会通过。
我在该控制器中验证我的用户:
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'),它将覆盖Devise中的那个。这里的解决方案是否正确设置了哈希?
我使用 rspec-rails (3.5.2),设计(4.2.0), rails (5.0。 0.1)