なぜ私は私のモックフレームワークとしてほくろを選択するのでしょうか?
-
27-09-2019 - |
質問
私は、ASP.NETのためのいくつかのモッキングフレームワークを見ているとMicrosoftモグラに出くわしてきました。これは、Microsoftの研究チームの一員であると思われると、ここで誰もが他の成熟モッキング上でほくろを選択した場合は不思議部品番号のようなフレームワークた。
解決
私が実際に使用部品番号との同じテストプロジェクトでモグラ。どちらも、強みを持っていると私はそれぞれ適切な場合に使用します。一般的に、私は検証してテストするAAAの標準ソートに部品番号を使用し、モグラは、拡張メソッドの呼び出しなどのような、そうでない場合はunmockable物事のための「大きな銃」です。
Iこの構成のように、各テストはモックセットアップは、テストからテストに多くの異なる場合でも、可能な限りシンプルかつ賢明とすることができるからです。
他のヒント
モルペックスのホワイトボックス分析を効率的に動作するように設計されました。他のすべてのモックフレームワークは、通常、多くのオーバーヘッドを招きます。
モル単純な価値を提供する:デリゲートと任意の.NETメソッドを置き換えます。設計により、モグラは他のフレームワークがそうであるように「検証」を表現する任意のAPIを提供していません。これは、この決定はスーツあなたのかどうかを決定するまで、あなたに本当にです。
あなたが内部コンストラクタでハードコードされた静的メソッドまたは密封された種類に依存します(レガシー)コードに対処する必要がある場合は、ほくろは、あなたがこれらのケースに対処することができます。
プロファイラで使用できることをは、インターフェースとうまくコンポーネント化コードがある場合、モルにもスリムスタブを生成、すなわちインタフェースの実装、。
モグラがより頻繁に比較される/それは外の部品番号の施設のセットおよび/またはRhinoMocks'スイートスポットを提供していますその中でTypeMockに対比ます。
あなたが選ぶ際に自問する必要があり、メインの質問は、あなたが比較的ローテクあなたのテストを維持したいか、技術的な策略のより高いレベルに巻き込まかどうかです。これは主に何をやっているによって決定されます - あなたはそれが本当にあなたのために関連する可能性があることを示唆しているMVC ASP.NETをタグ付けしていませんでした。
。素敵な概要については、このDimecasts.netビデオのを見てください。