Общеизвестным преимуществом MVC является его пригодность для разработки через тестирование (TDD), поскольку вы можете напрямую вызывать действия контроллера из методов тестирования.
Как вы можете протестировать комбинацию действия контроллера с атрибутом ActionFilter
(используя OnActionExecuted
для изменения ActionResult
, возвращаемого действием)? Если я просто вызываю действие, оно возвращает ActionResult
из действия, но атрибут фильтра никогда не вызывается. Я думаю, что, возможно, вы можете получить это к Controller.ActionInvoker.InvokeAction(controllerContext, "ActionName")
, но вам нужно точно имитировать так много контекста контроллера, чтобы заставить его работать, что это настоящая боль.
Кто-нибудь успешно сделал это?