BT

Microsoft Fakes Deep Dive – Shims

| 作者: Roopesh Shenoy フォローする 0 人のフォロワー , 翻訳者 尾崎 義尚 フォローする 0 人のフォロワー 投稿日 2012年5月23日. 推定読書時間: 1 分 |

原文(投稿日: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

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

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

このスレッドのメッセージについてEmailでリプライする

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

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT