在Moq中使用以下内容
public Mock<HttpRequestBase> Request { get; set; }
我怎么能嘲笑这个请求[….]
(in controller) var modelFromPost = Request["mymodel"]
这是我到目前为止所拥有的
public class ContextMocks { public Mock<HttpContextBase> HttpContext { get; set; } public Mock<HttpRequestBase> Request { get; set; } public RouteData RouteData { get; set; } public ContextMocks(Controller controller) { HttpContext = new Mock<HttpContextBase>(); HttpContext.Setup(x => x.Request).Returns(Request.Object); } }
干杯!
解决方法
您可以使用SetupGet方法模拟索引器:
ContextMocks.Request.SetupGet(r => r["mymodel"]).Returns(myModel);