If I try to unit test a view having Html.AntiForgeryToken() call inside I get an argument exception (An HttpContext is required to perform this operation. Check that this operation is being performed during a web request).
I tried to mock HttpContext (view.Context = Substitute.For<HttpContextBase>()) but is does not help.
(BTW: I am using MVC 5.0 and .NET 4.5)
Comments: Well, it was not that hard at all: var view = new Views.Account.Login(); HttpContext.Current = new HttpContext(new HttpRequest(null, "http://localhost", null), new HttpResponse(null)); HtmlDocument doc = view.RenderAsHtml();
I tried to mock HttpContext (view.Context = Substitute.For<HttpContextBase>()) but is does not help.
(BTW: I am using MVC 5.0 and .NET 4.5)
Comments: Well, it was not that hard at all: var view = new Views.Account.Login(); HttpContext.Current = new HttpContext(new HttpRequest(null, "http://localhost", null), new HttpResponse(null)); HtmlDocument doc = view.RenderAsHtml();