Помогите заглушить объекты для теста моего вспомогательного метода - PullRequest
1 голос
/ 02 июня 2011

У моего 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 Ответ

4 голосов
/ 29 июня 2011

Это должно быть прямо вперед.

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

Помогает ли это вам?

Соответствующий ответ может быть. Заглушка метода помощника контроллера в спецификации помощника шаблона

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...