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

ahs*_*ele 10 asp.net asp.net-mvc leaky-abstraction mvccontrib

我在创建一个新的ASP.NET MVC项目时非常关注.一些教程推荐使用MVC Contrib.如果它实现了使用ASP.NET MVC提高工作效率的承诺,我想获得Stack Overflow社区的意见.基本上MVC Contrib的好处值得为我的应用程序添加另一个漏洞抽象

Sco*_*and 10

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

"〜/ Administration/Users/Modify/testuser".ShouldMapTo(a => a.Modify("testuser"));

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

Controller.List().AssertViewRendered().WithViewData>().Count .ShouldEqual(4,"应该是4个用户返回");

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

        Builder = new TestControllerBuilder();
        Builder.CreateController<CT>();
Run Code Online (Sandbox Code Playgroud)

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

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

<%= this.TextBox("name").Label("Activity Category Name:").MaxLength(50).Class("required")