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