0
单元测试中我伪装使用嘲讽控制器上下文和UrlHelper
var fakeHttpContext = new Mock<HttpContextBase>();
var controllerContext = new Mock<ControllerContext>();
controllerContext.Setup(t => t.HttpContext).Returns(fakeHttpContext.Object);
this.controller.ControllerContext = controllerContext.Object;
以下
UrlHelper helper = new UrlHelper(this.ControllerContext.RequestContext);
string url = helper.Action("Details", "Pers", new { id = person.Id });
我应该怎么单元测试里面嘲笑为了HTTP上下文现在我的代码中我使用使用UrlHelper代码? 当前UrlHelper助手为null。
p.s.由于清晰,我没有在测试中显示控制器代码的完整初始化,它正在工作,但我现在正在努力处理这个请求上下文和UrlHelper。
控制器已经有一个'UrlHelper Url'属性,您可以传递一个实例或模拟。代码中不需要新的代码。 – Nkosi
所以,我错过了控制器上下文设置内的东西? – user1765862
你错过了控制器中的东西。 – Nkosi