MVC Mock Context(上下文) Code
varfakeContext=newFakeControllerContext(controller,newNameValueCollection(),newNameValueCollection());
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[""],则加上:
varmockRequst=newMock<HttpRequestBase>();
mockRequst.ExpectGet(r=>r.ServerVariables).Returns(newNameValueCollection());
mockRequst.ExpectGet(r=>r.QueryString).Returns(newNameValueCollection());
mockRequst.ExpectGet(r=>r.Form).Returns(newNameValueCollection());
mockRequst.ExpectGet(r=>r.Cookies).Returns(newHttpCookieCollection());
varmockHttpContext=newMock<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