2009-09-17 12 views
10

? Estoy hasta las rodillas en el inicio de un nuevo proyecto ASP.NET MVC. Varios tutoriales han recomendado el uso de MVC Contrib. Quería obtener la opinión de la comunidad Stack Overflow si cumplía su promesa de aumentar la productividad con ASP.NET MVC. Básicamente son los beneficios de MVC Contrib la pena agregar otro leaky abstraction a mi aplicación?¿Cumple MVC Contrib su promesa de aumentar la productividad en ASP.NET MVC

+0

Solo tiene que usar todo lo que quiera usar. La mayoría de las ideas de MVC Contrib ya se han incorporado a MVC v2, y lo hemos encontrado esencial en nuestro proyecto (especialmente los ayudantes de prueba). –

Respuesta

10

Creo que MVC Contrib tiene un valor incalculable en lo que respecta a las pruebas. Proporcionan una gran cantidad de métodos de extensión que le permiten probar con fluidez los resultados de enrutamiento y acción. Por ejemplo:

"~/Administración/Usuarios/Modificar/testuser" .ShouldMapTo (a => a.Modify ("testuser"));

... para el enrutamiento, y los resultados de acción:

Controller.List() .AssertViewRendered() .WithViewData>() .Count .ShouldEqual (4, "debe ser 4 usuarios devueltos ");

También MVC Contrib proporciona una útil clase TestControllerBuilder que puede construir un controlador y encargarse de simular todo el tipo de contexto HTTP necesario. Esto no parece mucho sino emparejado con DI, escribiéndolo usted mismo si es un dolor.

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

Pasando de las pruebas, las fábricas de controlador para DI/COI son realmente útil por lo que no tiene que escribir por sí mismo, pero no en mi humilde opinión esencial.

Lo otro que me gusta de MVC Contrib son los ayudantes de HTML con fluidez. Creo que es mucho más agradable para establecer las propiedades de HTML y otros datos utilizando este tipo de ayudantes fluidas - Aquí hay dos ejemplos:

<% = this.TextBox ("nombre") etiqueta ("Actividad. Nombre de categoría: ") .MaxLength (50) .Clase (" required ")