0

Moles フレームワークを使用すると、任意の関数呼び出しをモックアップできます。これはここからの引用です: http://msdn.microsoft.com/en-us/library/ff798308.aspx

実行が DateTime.Now プロパティ ゲッターなどのメソッドに入ると、Moles フレームワークは、テスト クラスがそのメソッドの迂回路を定義しているかどうかを確認します。迂回が定義されている場合、フレームワークは呼び出しを迂回デリゲートにリダイレクトします。迂回路が定義されていない場合、呼び出しはメソッドの実際の実装に向けられます。

私の質問は次のとおりです。テストクラスで迂回をどのように定義しますか?

参考までに: この質問は、Moles が内部でどのように実装されているかを示しています。

4

1 に答える 1

1

迂回したいメソッドを含むアセンブリのモルアセンブリを作成する必要があります。これを行うにはさまざまな方法がありますが、最も簡単な方法は、テスト プロジェクト内で「モール」したいアセンブリへの参照を右クリックし、「モール アセンブリの作成」オプションをクリックすることです。これが機能しない場合は、すべてのコマンド ライン オプションがあります。このモールディング アセンブリには、回り道を定義できるクラスがあります。たとえば、典型的な静的データ アクセス レイヤーがあるとします。迂回路を定義すると、次のようになります。

MEmployeeDAL.GetEmployeeGuid = (id) => return new MockEmployee();

詳細については、このブログ投稿を確認してください: http://blogs.msdn.com/b/kristol/archive/2010/03/07/unit-testing-with-microsoft-moles.aspx

于 2012-10-15T13:56:54.273 に答える