我有一个 Controller 操作来检查
this.User.Identity.IsAuthenticated
您对如何处理此类操作的单元测试有何建议?
最佳答案
我建议模拟 IsAuthenticated 属性。 SO 上还有很多其他帖子,你可以搜索一下。
这是使用 Moq 模拟请求的示例:
var mockRequest = new Mock<HttpRequestBase>();
mockRequest.Setup(x => x.IsAuthenticated).Returns(true);
var mockContext = new Mock<ControllerContext>();
mockContext.Setup(x => x.Request).Returns(mockRequest.Object);
var myController = new MyController();
myController.ControllerContext = new ControllerContext(mockContext.Object, new RouteData(), myController);
我强烈建议查看 Scott Hanselman 无处不在的“MvcMockHelpers”代码,这是我使用的代码:
http://www.hanselman.com/blog/ASPNETMVCSessionAtMix08TDDAndMvcMockHelpers.aspx
关于asp.net-mvc - 单元测试 Asp.net MVC Controller 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1128360/