アップデート:私が受け取った回答のカップルに基づいてのHttpContextのためのベストプラクティスとテスト可能なコントローラ
が、私はちょうど私がからかっについて移動する方法も承知していることを明らかにしたいですmockingフレームワークを使ったHttpContext。 HttpContextを嘲笑することの賛否両論が、HttpContextの周りのラッパークラスを使用することと比較したとき、私はもっと興味を持っています。
私はASP.Net MVCで検証可能なコントローラを構築する際のHttpContextに対処する方法についての意見を探しています。それを読んだら、HttpContextBaseからビルドし、ユニットテストのために必要なスタブ/モックを生成するための模擬フレームワークを使用するか、または使用する予定のHttpContextの領域に依存しないラッパークラスを構築します。
今私はHttpContextBaseの構築に傾いています。追加のラッパークラスの開発と保守に時間を費やす必要がないため、開発プロセスが高速で、保守が簡単なようです。ラッパークラスは基本的な実装を抽象化し、コントローラのコンテキストを要求とは別にしておくことで、ラッパークラスがどのように有益なのかを見ることができますが、セットアップとメンテナンスに余計なオーバーヘッドが必要な場合はわかりません。
この2つのアプローチの賛否両論はどういう感じですか。ソリューションの1つに他のものよりも役立つ特定のタイプの開発がありますか?
これは一般的な問題のようですが、単体テストでASP.Net MVCを使用しているほとんどのチームは、どのように対処しなければなりませんか?この問題に対処していれば、ソリューションはどのように機能しましたか、そして現在は何を変えていますか?
に非常によく似たものに終わるだろうか?あなたはそれが維持可能であり、実行可能であることを発見しましたか? –
うん、それは私のためにとてもうまくいった。そのトリックは、テストクラスが継承する基本クラスですべてを隠すことです。そのため、一度やり直して、毎回それを心配する必要はありません。 – Erik