2008-08-24 9 views
8

HttpApplicationHttpContextがインターフェイスを実装していないことを考えれば、どのようにしてasp.netにHttpModuleユニットテストをテストしますか?ユニットテストIHttpModule

答えて

1

以前はASP.NET MVCに移行する前に、私はthis library Phil HaackがHttpApplicationとHttpContextを使ったユニットテスト用に作成しました。それはDuck Typing libraryを使用しています。

残念ながら、これはこれを実行する最善の方法でした。 ASP.NETは簡単にテストできるように作られていませんでした。 ASP.NET MVCで作業していたとき、フレームワークをよりテスト可能にすることで、これらの頭痛を取り除くことが目標の1つです。

2

HttpApplicationとHttpContextに対するHttpModuleの依存関係を取り除き、インタフェースで置き換える必要があります。独自のIHttpApplicationとIHttpContext(IHttpResonse、IHttpRequestなど)を作成するか、@Dale Raganで記述されたものを使用するか、asp.net MVCプレビューにバンドルされているSystem.Web.Abstractionsの光沢のある新しいものを使用できます。

+0

@Dale Raganの記事を教えてください。 PS:私はTwitterにアクセスできない – chugh97

+0

私は実際には以下の答えを直接参照しています:) – Mike

0

アイソレーション(モッキング)フレームワークを使用できます。私は任意の.NETオブジェクトを擬似/模擬することを可能にする2つのツールを知っています - Typemock IsolatorTelerik JustMockあなたはMolesも使用できると思います。

上記のすべては、.NETオブジェクトイベントがインターフェイスを実装していない場合でも、公開されている場合でも、偽造することができます。

関連する問題