您的位置:首页 > 编程语言 > ASP

ASP.net MVC Mock Context(上下文)

2009-04-03 17:01 337 查看
ASP.net MVC Mock Context(上下文)

Code

var fakeContext = new FakeControllerContext(controller, new NameValueCollection(), new NameValueCollection());

controller.ControllerContext = fakeContext;

controller.Request.QueryString["s"] = ""

或:

var controllerContext = new FakeControllerContext(controller,

new RouteData(), "", "", new string[] { }, new NameValueCollection(),

new NameValueCollection(), new HttpCookieCollection(), new System.Web.SessionState.SessionStateItemCollection());

controller.ControllerContext = controllerContext;

如果要访问Request[""],则加上:

var mockRequst = new Mock<HttpRequestBase>();

mockRequst.ExpectGet(r => r.ServerVariables).Returns(new NameValueCollection());

mockRequst.ExpectGet(r => r.QueryString).Returns(new NameValueCollection());

mockRequst.ExpectGet(r => r.Form).Returns(new NameValueCollection());

mockRequst.ExpectGet(r => r.Cookies).Returns(new HttpCookieCollection());

var mockHttpContext = new Mock<HttpContextBase>();

mockHttpContext.ExpectGet(hc => hc.Request).Returns(mockRequst.Object);

controller.ControllerContext.HttpContext = mockHttpContext.Object;

namespace MvcFakes

在 BFA项目BFA.Presentation.Impl.Test.BuyerCompanyControllerTest.AjaxPartialManagementReturnExpectWhenOnDefault()用到

下载:MvcFakes.rar
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: