我正在使用 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.
并在方法模拟之前从规范中启动调试会话,我得到以下信息:
(rdb:1) self.respond_to? :controller
true
(rdb:1) controller
nil
从所有示例中,访问控制器变量应该可以工作,但事实并非如此。是什么赋予了?如何在被测控制器中模拟或存根方法?