Ruby on rails 4 如何在OpenStruct上存根一个方法?
我有一个rspec测试,它执行以下操作: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_
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
上面的代码适合我。小心确保带有存根的
注册
对象与测试中使用的对象相同。这里的答案可能是在中间时间内发生了一些变化,因为这当前产生了#未实现:需要(终止)原因?