【问题标题】:RSpec stub environment helperRSpec 存根环境助手
【发布时间】:2016-01-28 15:16:10
【问题描述】:

我有一个包含辅助方法的 lib/require/environment_helpers.rb 文件。还有更多方法,但没有封装在模块中。

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

【问题讨论】:

标签: rspec rspec-rails stub


【解决方案1】:

试图存根这些方法

你可以这样存根

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    • 2014-08-06
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多