在 ASP.NET 5 中为 Web API 控制器模拟 HttpContext

Mocking HttpContext for Web API Controllers in ASP.NET 5

在我们的某些 Web API 控制器中,我们调用 HttpContext 来查找和检查响应中的 StatusCode,如下所示。我认为最好模拟一下,而不是只检查 null。

Context.Response.StatusCode = 400;

但是,我能找到的所有解决方案都说要在控制器上设置 ControllerContext。当我尝试这样做时,我没有得到 ControllerContext 我只得到 Context 这是只读的。

有没有办法模拟 HttpContext,或者我是否需要为此创建一个假的 HttpContext?

对于 MVC 6,您需要从那里设置 ActionContext property. You can see that the Context 属性 拉取。 ActionContext 构造函数将允许您指定自己的模拟 HttpContext.

另请参阅: