rspec 1.3.2 を使用して、次のようなコントローラー アクションをテストしています。
def action_foo
...
@bar.can_do_something?
...
end
@bar
( class のインスタンスであると仮定してBar
) インスタンス変数をスタブしようとしていますが、できません。アクセスできればできると思いますが、使用しているrspecのバージョンでは利用できませんany_instance
。Bar.any_instance.stub(:can_do_something?)
アクセスしてスタブする別の方法はあり@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)