3

私はASP.Netの上に構築された少し代替のMVCフレームワークを持っています(厳密にはそれに結び付けられていません)。私がいろいろいじっていることの 1 つは、HttpContextインスタンスとHttpContext.Current. 最近、フレームワークの単体テストをいくつか実行しようとしたところ、HttpContext に対するテストが非常に難しいことがわかりました。私のアプリケーションは必ずしも ASP.Net に関連付けられているわけではないため、HttpContext、HttpRequest、およびその仲間のより基本的なバージョンを再実装しようとしましたが、これらのクラスに含まれる必要がある膨大な量の情報に対して、これは大規模な作業です。

正確にはどうすればよいですか?HttpContext でテストするための回避策を見つけるか、明示的にあまり依存しないようにコードを再構築しますか? それとももっと良い方法がありますか?HttpContext を直接使用することは非常に悪いことですか?

4

1 に答える 1

2

私はあなたの痛みを完全に理解しています。私はこの ASP MVC 2 に何時間も費やしてきました。

私自身の苦労の中で、単体テストと統合テストに関するさまざまな議論を見つけました。違いは理解できますが、可能な限り本番環境に近い環境で統合テストを行うようにしています。これを言うと、私は壁にホッチキスで留められる可能性が高いです。私は恐れていません。

オープンソースと TypeMock および Isolator のトライアルの両方で、単体テストに必要なさまざまなクラスをモックするいくつかの異なる方法を試しました。最終的に、特に統合テストに関する記事を見つけ、克服しようとしていた問題のほとんどを解決しました。ここを参照してください:

http://blog.stevensanderson.com/2009/06/11/integration-testing-your-aspnet-mvc-application/

コードをどのように構成する必要があるかについては、私には言えません。ASP MVC ソースで見たものから、HttpContext を使用してはならない理由がわかりません。テストするのは本当に面倒ですが。

これはまったく役に立ちますか?興味があれば、私が試したさまざまなソリューションのサンプルをいくつか共有できれば幸いです。

于 2012-10-28T03:26:14.550 に答える