Почти в каждом файле спецификации, с которым я сталкиваюсь, я заканчиваю тем, что пишу что-то вроде:
before :each do
@cimg = Factory.build :cimg_valid
@cimg.stub(:validate_img).and_return true
@cimg.stub(:validate_img_url).and_return true
@cimg.stub(:save_images).and_return true
@cimg.stub(:process_image).and_return true
@cimg.stub(:img).and_return true
end
Я имею в виду, что модель, которую я получаю от Factory.build, полностью действительна. Но если я не заглушу этот материал, он сохранит вещи в файловой системе и проверит вещи, которые я не тестирую...
Что я имею в виду, я думаю, было бы чище сделать что-то вроде этого:
before :each do
@cimg = Factory.build :cimg_for_testing_tags
end
Если заглушка на Фабрике вообще возможна.
Как правильно заглушить модель?