私はTDDワークフローに取り組んでおり、MVCとasp.netWebフォームアプリを組み合わせています。
MVCにはMOQをお勧めします。
WebフォームにRhinoを使用しました。
両方に1つのフレームワークモックを作成するためのベストプラクティスはありますか?
私はTDDワークフローに取り組んでおり、MVCとasp.netWebフォームアプリを組み合わせています。
MVCにはMOQをお勧めします。
WebフォームにRhinoを使用しました。
両方に1つのフレームワークモックを作成するためのベストプラクティスはありますか?
これはちょっとばかげた質問ですが、モックとスタブのより完全な理解を表しているので、Rhino Mocks の方が好きです。
価格にコミットする前に、TypeMock を詳しく調べてください。
また、ASP.NET MVC に推奨されるモック フレームワークもありません。
最後に、プロジェクト (およびチーム内でも) で 1 つのモッキング フレームワークに固執することをお勧めします。その違いは、それほど大きくはありませんが、そのような「岩を磨く」決定では不当な混乱を招く可能性があります。つまり、決定は長いものであってはならず、うまくいくものを選んで価値の創造に取り掛かるべきだということです。
Rhino の最新リリースには、MoQ が持っている甘くて甘い 3.5 への愛がたくさん含まれています。私は MoQ のファンなので、それを使っています。しかし、MoQ ではできないことを行う場合に備えて、Rhino も持っています。
TL;DR: MoQ it baby.
TypeMock は非常に強力です。テスト容易性のために設計されていない Web フォーム アプリの単体テストが必要になったとき、TypeMock は私の命を救いました。
しかし、時間をかけてアーキテクチャ パターン (MVC) を選択したり、Mockability (パブリック仮想化の状態変更メソッド) を可能にするものを設計したりするときは、Moq を使用します。使い方はとても簡単で、他の人に教えるのもとても簡単です。
TypeMock のレコード再生構文はまだ混乱していますが、タイトなリリース スケジュールの中でかなりの時間を節約できました。Moq の API はほとんど一目瞭然です。これは、モック ライブラリの歴史を考えると驚くべき成果です。
HTTPContextと従来のWebフォームを偽造するためにIvonnaを調べてください。
どちらにもお気に入りのフレームワークを使用します。Web フォーム用に 1 つのフレームワークを選択し、MVC 用に別のフレームワークを選択する理由はないと思います。はるかに大きな問題は、Web フォーム ページを単体テストする方法です。ページを HttpRequest スタックの残りの部分から分離するのは非常に難しいためです。
私のお気に入りはMoqです。TypeMock も使用しました。コストはかかりますが、非常に強力です。具体的なクラスとコンストラクターをモックできるため、HttpContext や HttpRequest などをモックできる可能性があります。