Controller.Initialize(RequestContext)
вызывается внутри ControllerBase.Execute(RequestContext)
, что, в свою очередь, может быть вызвано явной реализацией IController.Execute(RequestContext)
, поэтому этот код инициализирует и выполняет контроллер:
IController controller = new TestController();
controller.Execute(requestContext);
Я проанализировал дерево зависимостей для Initialize()
и не вижу другого способа вызова этого метода без обращения к Reflection. Вам также нужно будет создать RequestContext
, переданный Execute()
, что проще, так как похоже, что вы используете Moq:
var wrapper = new HttpContextWrapper(httpContext);
var requestContext = new RequestContext(wrapper, new RouteData());
Эта ссылка содержит полезные сведения о насмешке над HttpContext с использованием Moq.