【问题标题】:How to unit test exception filter in web API ASP.Net core. Dont want to mock the onException method如何在 Web API ASP.Net 核心中对异常过滤器进行单元测试。不想模拟 onException 方法
【发布时间】:2017-07-10 00:26:13
【问题描述】:

如何在 Web API ASP.Net 核心中对异常过滤器进行单元测试。不想模拟 onException 方法。我在单元测试中模拟了如下所示的 ControllerContext。从 Web API 调用的类库会引发由异常过滤器捕获的自定义异常,我想对其进行单元测试。今天我收到“值不在预期范围内”错误。

    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);
    }

【问题讨论】:

    标签: asp.net-mvc unit-testing asp.net-core moq xunit


    【解决方案1】:

    我将使用 documentation 中介绍的 TestServer 编写集成测试。它的运行速度与实际的单元测试差不多,但更有价值,因为它将展示您的过滤器在实际的 MVC 上下文/管道中工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-15
      • 2019-02-20
      • 2023-03-18
      • 1970-01-01
      相关资源
      最近更新 更多