2017-02-20 11 views
0

Как отключить тестовый фильтр исключения в веб-интерфейсе API ASP.Net. Не хотите издеваться над методом onException. Я издевался над ControllerContext, как показано ниже в моих модульных тестах. Библиотеки классов, вызываемые из веб-интерфейса API, вызывают пользовательские исключения, которые попадают в фильтры исключений, и я хочу, чтобы это проверочно. Сегодня я получаю ошибку «Значение не входит в ожидаемый диапазон».Как отключить тестовый фильтр исключения в веб-API API ASP.Net. Не хотите издеваться над методом onException

public static ControllerContext GetMockControllerContext(
     this Controller controller, 
     RouteData routeData) 
    { 

     var actionContext = new ActionContext 
     { 
      HttpContext = new DefaultHttpContext 
      { 
       User = controller.GetMockUserContext() 
      }, 
      RouteData = routeData, 
      ActionDescriptor = new ControllerActionDescriptor() 
     }; 
     return new ControllerContext(actionContext); 
    } 

ответ

2

Я хотел бы написать тест интеграции с использованием TestServer, как рассматривается в documentation. Он будет работать так же быстро, как фактический модульный тест, но будет гораздо более ценным, так как он продемонстрирует ваш фильтр, работающий в реальном контексте MVC/конвейере.