帮助截取对象进行辅助方法测试

时间:2011-06-01 21:27:29

标签: ruby-on-rails ruby rspec

我的application_controller有一个方法

def current_user
end

这将返回User对象。

现在使用rspec,我在application_helper.rb

中测试一个帮助器
def test_this_method(some_object)

    ..
    ..  = some_other_method( current_user )

end


def some_other_method
  ..
  user.age
  user.height 
end

所以我想在test_this_method中测试application_helper

B ** ut因为它调用了some_other_method,所以必须进行存根/模拟。并且current_user对象也必须被模拟,因为它也被引用。**

我该怎么做?

1 个答案:

答案 0 :(得分:4)

这应该是直截了当的。

require File.dirname(__FILE__) + '/../spec_helper'

describe ApplicationHelper do
  describe "test_this_method" do
    describe "when test_this_method do foo bar" do
      it "should show nothing" do
        helper.stub(:some_other_method)
        helper.test_this_method.should == ""
      end
    end
  end
end

这对你有帮助吗?

相关答案可以。 Stub a controller helper method in a template helper spec