Я использую rspec-rails, версия 1.2.6. В тесте контроллера
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.
и запуск сеанса отладки из спецификации указывает на строку перед тем, как метод mock, я получаю следующее:
(rdb:1) self.respond_to? :controller
true
(rdb:1) controller
nil
Из всех примеров доступ к переменной контроллера должен работать, но это не так. Что дает? Как я могу издеваться или заглушать методы в тестируемом контроллере?