Zar*_*doz 6 rspec ruby-on-rails stub
我通过使用ApplicationController方法(例如sort_direction)向视图模板公开了一个方法helper_method :sort_direction.然后,我在sort_link视图助手(application_helper.rb)的另一个方法(例如)中使用此方法.
当sort_link使用RSpec(in application_helper_spec.rb)测试方法时,我必须存根,sort_direction因为测试似乎完全独立于控制器运行(从而通过它到视图模板公开的方法).
不幸的是我无法找到如何存根sort_direction控制器的方法.我总是得到"未定义的方法".
这是我到目前为止(内部application_helper_spec.rb)尝试的内容:
helper.stub(:sort_direction)
controller.stub(:sort_direction)
view.stub(:sort_direction)
self.stub(:sort_direction)
Run Code Online (Sandbox Code Playgroud)
有什么建议我怎么可以存根那个方法?
这里得到的错误:
NoMethodError:
undefined method `sort_direction' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0xb641434c>
Run Code Online (Sandbox Code Playgroud)
David Chelimsky在这里解决了这个问题:http://groups.google.com/group/rspec/browse_thread/thread/cc44ca12c6816053
只需调用helper对象上的spec所有方法:
it "should work" do
helper.stub(:sort_direction)
helper.sort_link(...).should == ...
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4920 次 |
| 最近记录: |