全局变量(params[:something]
)只能通过get
请求设置为methodA
。现在,当methodA
调用methodB
时,methodB可以访问params[:something]
。
我可以将methodA
更改为在实例变量中存储params
。如果我正在尝试测试methodB
,如何使用模拟/存根来调用methodA
并设置这些变量?
public
def methodA
@instance_variable = params[:something]
@variable = methodB (arg1, arg2)
end
private
def methodB arg1, arg2
// needs to use params[:something] or @instance_variable
end
答案 0 :(得分:1)
您应该使用any_instance
YourClass.any_instance.stub(:method_a).return('foo')
https://www.relishapp.com/rspec/rspec-mocks/v/2-6/docs/method-stubs/stub-on-any-instance-of-a-class