在Rspec中的全局before(:all)中设置HTTP_REFERER

Cod*_*eef 6 rspec ruby-on-rails

为了避免添加

request.env["HTTP_REFERER"] = '/'
Run Code Online (Sandbox Code Playgroud)

在我创建的每个controller_spec文件的前一个块中,我试图将其添加到全局配置中(在spec_helper.rb中)

config.before(:each) {request.env["HTTP_REFERER"] = '/'}
Run Code Online (Sandbox Code Playgroud)

问题是,我收到以下错误:

You have a nil object when you didn't expect it!
The error occurred while evaluating nil.env
Run Code Online (Sandbox Code Playgroud)

有没有人指出如何正确实现这一点?

干杯!

Mat*_*rby 12

你有没有尝试过

  config.before(:type => :controller) do
    request.env["HTTP_REFERER"] = "/"
  end
Run Code Online (Sandbox Code Playgroud)