Заглушка модельного атрибута - PullRequest
1 голос
/ 28 июля 2010

Я пишу тест rspec для своего класса Cars, и у меня есть вопрос, касающийся настройки макетов Я хотел бы заглушить массив частей в Cars, как я могу это сделать?

У меня есть следующий код:

class Cars
  has_many :parts

  def heavy_count
    parts.inject(0) { |sum, v| v.weight > 10 ? sum + 1 : sum }
  end
end

С тестом

context ("#heavy_count") do
  let(:car) {mock_model(Car, :brand => "toyota")}
  let(:vote_1) {mock_model(Part, :weight => 11)}
  let(:vote_2) {mock_model(Part, :weight => 11)}

  it "should return 2 if there are 2 parts heavier than 10" do 
    #how do I stub parts here?
  end
end

1 Ответ

4 голосов
/ 30 июля 2010

Предполагается, что вы используете RSpec для насмешки, а не другой фреймворк:

Part.should_receive(:find).and_return([vote_1, vote2])

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