ユニットテストなどではテスト対象外の振る舞いをテスト目的に合わせるためにモックやスタブ等を作成することがあります。 .NET開発でこの様なモックやスタブを簡単に作成するフレームワークにMicrosoft ResearchのMolesがあります。 このMolesは以前に紹介したPexにも含まれています。 Molesを使用すれば設計対象範囲外(例えば.NETフレームワークのコアライブラリなど)も含めて、既存のクラスのフィールド(プロパティ)やメソッド単位でデリゲートを使用して振る舞いを置き換えることができます。 例えば public class MolesTest { public DateTime GetTheDate() { Console.WriteLine("OK"); return DateTime.Now; } } このような.NETのコアライブラリのConsoleクラスのWrit