2017-02-20 23 views
0

如何在Web API ASP.Net核心中單元測試異常過濾器。不想模擬onException方法。我在我的單元測試中嘲笑了ControllerContext,如下所示。從Web API調用的類庫會拋出由異常過濾器捕獲的自定義異常,並且我想單元測試它。今天我收到「價值不符合預期範圍」的錯誤。如何在Web 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上下文/管道內工作。

相關問題