Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
RSpec存根环境助手_Rspec_Rspec Rails_Stub - Fatal编程技术网

RSpec存根环境助手

RSpec存根环境助手,rspec,rspec-rails,stub,Rspec,Rspec Rails,Stub,我有一个lib/require/environment\u helpers.rb文件,其中包含helper方法。有更多的方法,但它没有包装在一个模块中 def development? Rails.env.development? end def test? Rails.env.test? end 我正试图剔除这些方法,但我一点运气都没有。我试过: before :each allow(Rails.env).to receive(:production?) { false } e

我有一个lib/require/environment\u helpers.rb文件,其中包含helper方法。有更多的方法,但它没有包装在一个模块中

def development?
  Rails.env.development?
end

def test?
  Rails.env.test?
end
我正试图剔除这些方法,但我一点运气都没有。我试过:

before :each
  allow(Rails.env).to receive(:production?) { false }
end

before :each
  allow(Rails).to receive(:production?) { false }
end

before :each
  allow(ServiceUnderTest).to receive(:production?) { false }
end
尝试存根这些方法

你可以这样存根

before :each do
  rails_env = double(:rails_env, development?: false)
  expect(Rails).to receive(:env).and_return(rails_env)
  expect(rails_env).to receive(:development?).and_return(false)
end
检查此问题/答案,尤其是这部分代码
receive(:env.)和_return(ActiveSupport::StringInquirer.new(“production”)