LINUX.ORG.RU

Rspec & mocking trouble


0

0

Есть такой вот код:

def index
@my_model = MyModel.find_by_id(params[:id])
attrs = @my_model.attrs.find(:all)
for attr in atts do
attr.do_somesing
end
end

Проблемы начинаются с написанием тестов на rspec`е:

describe MyController
before(:all)
@my_model = mock(MyModel)
@attr = mock(Attr)
MyModel.stub!(:find_by_id).and_return(@my_model)
@my_model.stub!(:attrs).and_return(@attr)
@attr.stub!(:find).and_return(@attr)
end

it 'must be valid'
@attr.should_receive(:do_somesing).once.with(no_args).and_return(false)
end
end

На что rspec пишет:
Spec::Mocks::MockExpectationError in 'MyController must be valid'
Mock 'Attr' received unexpected message :each with (no args)

Как можно сказать rspec`у не использовать mocking для метода each?

anonymous

Ждешь ответа? Напрсно. На лоре почти нет рубистов - посмотри результаты последнего опроса. Надо было сразу писать на питоне. Питон - замечательный.

anonymous
()
Ответ на: комментарий от anonymous

> Ждешь ответа? Напрсно. На лоре почти нет рубистов - посмотри результаты последнего опроса.

Почти, это не значит что их нет. И результаты последнего опроса это показали.

anonymous
()

Сори, у меня простая опечатка.
вместо этого
    @my_model.stub!(:attrs).and_return(@attr) 
надо было написать это
    @my_model.stub!(:attrs).and_return([@attr])

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.