私が遭遇するほとんどすべてのスペックファイルは、次のようなものを書くことになります。
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
工場内でスタブすることさえ可能であるならば。
モデルをスタブする適切な方法は何ですか?