バージョン 1.2.6 の rspec-rails を使用しています。コントローラーのテストで
describe WebsController do ...
メソッドをスタブ化するためにコントローラー オブジェクトにアクセスできないようです。たとえば、次の場合は機能しません。
before :all do
@feed = mock_model(Feed)
controller.should_receive(:feed_from_params).and_return @feed
end
次のような警告が表示されます
An expectation of :feed_from_params was set on nil.
メソッドモックの直前の行で仕様からデバッグセッションを起動すると、次のようになります。
(rdb:1) self.respond_to? :controller
true
(rdb:1) controller
nil
すべての例から、コントローラー変数へのアクセスは機能するはずですが、機能しません。何を与える?テスト対象のコントローラーでメソッドをモックまたはスタブするにはどうすればよいですか?