Я думаю, что MVC Contrib неоценим, когда дело доходит до тестирования. Они предоставляют множество методов расширения, которые позволяют свободно тестировать результаты маршрутизации и действий. Например:
"~ / Администрирование / Пользователи / Изменить / 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 действительно полезны, так что вам не нужно писать их самостоятельно, но не обязательно, IMHO.
Еще одна вещь, которая мне нравится в MVC Contrib - это беглые помощники HTML. Я думаю, что гораздо лучше задавать свойства HTML и другие данные с помощью таких беглых помощников - вот два примера:
<% = this.TextBox ("name"). Label ("Имя категории активности:") .MaxLength (50) .Class ("обязательно") </p>