2009-09-17 5 views
10

新しいASP.NET MVCプロジェクトを開始するにあたって深いところです。いくつかのチュートリアルではMVC Contribの使用を推奨しています。 ASP.NET MVCの生産性向上の約束を果たしていれば、Stack Overflowコミュニティの意見を得たいと思っていました。基本的に私のアプリケーションに別のleaky abstractionを加える価値のあるMVC Contribのメリットはありますか?MVC Contribは、ASP.NET MVCの生産性向上の約束を果たしていますか

+0

使用したいだけの数だけ使用してください。ほとんどのMVC ContribアイデアはすでにMVC v2に組み込まれており、私たちのプロジェクト(特にテストヘルパー)に欠かせないことが分かっています。 –

答えて

10

私は、MVC Contribはテストに関して非常に貴重だと思います。これらは、ルーティングとアクションの結果を流暢にテストできる拡張メソッドを多数提供しています。たとえば、次のように .ShouldMapTo(A => a.Modify( "TESTUSER"))

"〜/管理/ユーザー/変更/ testuserと";ルーティングのための、およびアクションの結果のための

...:

Controller.List() .AssertViewRendered() .WithViewData>() .Count .ShouldEqual(4、「万一4人のユーザーが返されます ");

また、MVC Contribは、コントローラを構築し、必要なすべてのHTTPコンテキストタイプのものを偽装するのに役立つ、便利なTestControllerBuilderクラスを提供します。これはあまり好きではありませんが、DIとペアになって、痛みがあればそれを書いてください。テストからの移動

 Builder = new TestControllerBuilder(); 
     Builder.CreateController<CT>(); 

、DI/IoCのためのコントローラの工場では、あなたが不可欠私見それを自分で記述する必要はなく、していないので、本当に便利です。

私がMVC Contribについて気に入っているもう一つのことは、流暢なHTMLヘルパーです。私は流暢ヘルパーのこれらの種類を使用してHTMLのプロパティおよびその他のデータを設定することが非常に良くあると思います - ここでの2つの例を示します。

<% = this.TextBox(「名前」)ラベル(「アクティビティカテゴリ名: ").MaxLength(50).Class(" required ")

関連する問題