10

我很想开始一个新的 ASP.NET MVC 项目。一些教程推荐使用MVC Contrib。如果 Stack Overflow 社区兑现了通过 ASP.NET MVC 提高生产力的承诺,我想征求他们的意见。基本上,MVC Contrib 的好处值得为我的应用程序添加另一个泄漏抽象吗?

4

1 回答 1

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>();

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

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

<%= this.TextBox("name").Label("Activity 类别名称:").MaxLength(50).Class("required")

于 2009-09-17T16:40:30.743 回答