我使用的RSpec 1.3.2測試控制器動作,看起來像這樣的實例變量:存根內部控制
def action_foo
...
@bar.can_do_something?
...
end
我試圖存根@bar
(假設它是Bar
類的一個實例)實例變量,但我無法。我認爲如果我有權訪問any_instance
,那麼我可以做Bar.any_instance.stub(:can_do_something?)
,但這在我使用的rspec版本中不可用。
是否有另一種方式訪問和存根@bar
?以下的無工作:
@bar.stub(:can_do_something?)
controller.instance_variable_get("@bar").stub(:can_do_something?)
controller.stub_chain(:bar, :can_do_something?)
Bar.new.stub(:can_do_something?)
編輯:
@bar
在before_filter
分配。像@bar = Bar.find(n)
在哪裏/如何'@ bar'實例? –
'@ bar'被分配在'before_filter'中 – Dty