Как я могу заглушить find_each для тестирования rspec в рельсах 3

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

MyClass.stub(:find).and_return(my_mock)

Однако в другом классе я делаю это:

MyClass.find_each do |instance_of_my_class|
  do_stuff_here_on(instance_of_my_class)
end

Я обнаружил, что если я сделаю следующее:

MyClass.stub(:find_each).and_return([one_mock, two_mock])

в тесте спецификаций, часть «делать что-нибудь здесь» не выполняется. Кто-нибудь знает, как заглушить find_each для тестирования rspec?

36
задан Aaron 8 December 2010 в 16:15
поделиться