4

オブジェクトのモックとファクトリ オブジェクトの使用の Rails テストのベスト プラクティスは何ですか。モデルが外部ソースに移動する可能性がある場合にのみモックを使用する必要がありますか? それとも、実際のモデルをテストし、他のすべてにモックを使用するときにのみファクトリを使用しますか?

たとえば、顧客モデルをテストするときに顧客と注文を含む販売システムがある場合、注文をモックしますか、それとも単に工場注文を使用しますか? それは違いさえありますか?

4

1 に答える 1

4

私たちのウェブ ショップでは、この議論が頻繁に行われてきましたが、決定的な答えには至っていません。ファクトリには、データベースとの相互作用をテストするという利点があり、モックとスタブでは見逃されていた問題がいくつか見つかりました。一方、このような問題はまれであり、モック/スタブはかなり高速に実行されるため、より多くのテストが必要になります。

そのため、単体テストではファクトリではなくモックとスタブを使用する方向に進化し、両方を放棄する統合テストと組み合わせて、モックとスタブの単体テストでは行われないデータベースとの機能的相互作用をテストします。これは私たちにとって適切なバランスをとっているようです。

于 2012-05-06T15:50:46.857 に答える