BT

InfoQ ホームページ ニュース Microsoft Fakes Deep Dive – Shims

Microsoft Fakes Deep Dive – Shims

This item in chinese

ブックマーク

原文(投稿日:2012/05/22)へのリンク

Shimsは、フレームワークのメソッドを含めたテストの一部としてメソッドの割り込みを行うことができるMicrosoft Fakes frameworkの一部である。これにより、侵入度の低いユニットテストを可能にすることがRich Czyzewski氏の記事“ASP.NET MVC4における非侵襲的ユニットテスト – Microsoft Fakes Deep Dive”において紹介されている。

非侵襲的ユニットテストとはなんなのだろう?Rich氏はFormsAuthentication.SignOut()を呼び出す簡単なサンプルを紹介している。FormsAuthenticationは、テスト実行時には初期化されていないHttpContextに依存しているため、これまでは分離クラスでラップされたオブジェクトを呼び出してユニットテストを実行する必要があった。テストを行うだけのために設計を変更することは煩わしい。

Shimsは別の言い方をすると、テストを容易にするためだけにラップしたクラスを作るのではなく、FormsAuthentication.SignOut()に割り込むことができる。

新しいMicrosoft Fakes Frameworkにおいて、Shim Typesは、割り込みに使うことができ、すべての種類のメソッド呼び出しを置き換えることができる -

  • 静的メソッド
  • インスタンスメソッド(すべてのインスタンスまたは、一部のインスタンス)
  • 通常または、静的コンストラクタ

Shimsはまた、インターフェイスにフェイククラスをバインドすることもできる。

Fakes FrameworkはNUnitを含むユニットテストフレームワークで利用することができる。 Rich氏はまた、非常に近い機能を持つVS 2010のMolesテクノロジとVS 11で提供されるFakesとの比較を紹介している。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT

あなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。

Eメールを変更すると確認のメールが配信されます。

会社名:
役職:
組織規模:
国:
都道府県:
新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。