标题说明了一切。
我有一个控制器动作,我在其中做一些事情,然后调用在ApplicationController
.
我如何测试它是否被调用?
controller.should_receive(:the_method_name)
不起作用。
ApplicationController.should_receive(:the_method_name)
不起作用。
什么是正确的语法?
谢谢。
标题说明了一切。
我有一个控制器动作,我在其中做一些事情,然后调用在ApplicationController
.
我如何测试它是否被调用?
controller.should_receive(:the_method_name)
不起作用。
ApplicationController.should_receive(:the_method_name)
不起作用。
什么是正确的语法?
谢谢。
我认为您可以使用匿名控制器来测试您的 ApplicationController,查看文档。
按照 Gerep 的建议使用 AnonymousController 并调用controller.should_receive(:the_method_name)
应该这样做。
测试中的位置对于让测试成功通过很重要。给你举个例子:
describe 'my test' do
before do
controller.should_receive(:the_method)
get :action
end
it { should render_template(:your_template) }
end
这个例子应该通过并测试:the_method
.