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