MVC Contrib是否实现了提高ASP.NET MVC生产力的承诺

时间:2009-09-17 16:00:41

标签: asp.net asp.net-mvc mvccontrib leaky-abstraction

我在开始一个新的ASP.NET MVC项目时非常关注。一些教程建议使用MVC Contrib。如果它实现了使用ASP.NET MVC提高工作效率的承诺,我想获得Stack Overflow社区的意见。基本上MVC Contrib的好处是值得在我的应用程序中添加另一个leaky abstraction吗?

1 个答案:

答案 0 :(得分:10)

我认为MVC Contrib在测试方面非常宝贵。它们提供了许多扩展方法,使您可以流畅地测试路由和操作结果。例如:

  

“〜/管理/用户/修改/ TESTUSER”                   .ShouldMapTo(a => a.Modify(“testuser”));

...用于路由和行动结果:

  

Controller.List()                   .AssertViewRendered()                   .WithViewData>()                   。计数                   .ShouldEqual(4,“应该是4个用户返回”);

MVC Contrib也提供了一个有用的TestControllerBuilder类,它可以构建一个控制器并负责伪造所有必需的HTTP上下文类型的东西。这似乎不是很多,但与DI配对,如果痛苦就自己写。

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

从测试开始,DI / IoC的控制器工厂非常有用,因此您不必自己编写,但不是必需的恕我直言。

我喜欢MVC Contrib的另一件事是流畅的HTML助手。我认为使用这些流利的助手设置HTML属性和其他数据要好得多 - 这里有两个例子:

        

&lt;%= this.TextBox(“name”)。Label(“活动类别名称:”)。MaxLength(50).Class(“required”)