几乎我遇到的每个规范文件最终都会编写如下内容:
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
如果在工厂内存根甚至是可能的。
存根模型的正确方法是什么?