【发布时间】:2016-05-25 10:49:14
【问题描述】:
问题是由this 问题引起的。我做了以下事情:
我通过安装 Mvc 包修复了引用。但是现在当我尝试这个时收到以下错误:
var mock = new Mock<ControllerContext>();
mock.SetupGet(x => x.HttpContext.User.Identity.Name).Returns("SOMEUSER");
mock.SetupGet(x => x.HttpContext.Request.IsAuthenticated).Returns(true);
controller.ControllerContext = mock.Object;
无法将System.Web.Mvc.ControllerContext 转换为System.Web.Http.Controllers.ControllerContext
> controller.ControllerContext = mock.Object;
关于为什么在我的测试项目中没有使用 System.Web.Http.Controllers.HttpControllerContext; 的任何想法。
【问题讨论】:
-
您安装了错误的 MVC 包。在您的单元测试项目中安装与您在 Web 应用程序项目中使用的相同。
-
我好像没有MVC包。因为是api项目
-
...然后在我之前的评论中将“MVC”替换为“WebAPI”。
-
同样的错误,检查包是否相同。我在两个项目中都安装了 Microsoft.AspNet.Mvc。版本也一样。
标签: c# asp.net asp.net-web-api moq