Почти каждый файл спецификаций, с которым я сталкиваюсь, в итоге пишет что-то вроде:
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
Если заглушка на фабрике возможна.
Как правильно заглушить модель?