Ruby on rails 4 如何在OpenStruct上存根一个方法?

Ruby on rails 4 如何在OpenStruct上存根一个方法?,ruby-on-rails-4,rspec,Ruby On Rails 4,Rspec,我有一个rspec测试,它执行以下操作: enrollment_hash = { checked_dependents: [] } enrollment = OpenStruct.new enrollment_hash org_plan_response.new(enrollment) 在组织计划回复中,我有: @enrollment.requires_termination_reason?(x, y) 我想在测试中删除requires_termination_

我有一个rspec测试,它执行以下操作:

  enrollment_hash = {
      checked_dependents: []
  }
  enrollment = OpenStruct.new enrollment_hash

  org_plan_response.new(enrollment)
在组织计划回复中,我有:

@enrollment.requires_termination_reason?(x, y)
我想在测试中删除requires_termination_原因,但无法解决

我尝试了:
enrollment.stub(:需要终止\u原因?)。带有('x','y')。并且返回{false}

但是你可以得到:

NoMethodError:未定义#

任何帮助都将不胜感激

require 'ostruct'

describe "" do
  specify "" do
    enrollment = OpenStruct.new(checked_dependents: [])

    allow(enrollment).to receive(:requires_termination_reason?).with('x', 'y').and_return(false)

    expect(enrollment.requires_termination_reason?('x', 'y')).to be false
  end
end

上面的代码适合我。小心确保带有存根的
注册
对象与测试中使用的对象相同。

这里的答案可能是在中间时间内发生了一些变化,因为这当前产生了
#未实现:需要(终止)原因?