I’m using RazorGenerator to unit test my Razor/MVC3 per David Ebbo’s post here http://blog.davidebbo.com/2011/06/unit-test-your-mvc-views-using-razor.html and every time I attempt to use the AntiForgeryToken HtmlHelper (with no method arguments), it throws a NotImplementedException. What gives? As best I can tell, both my cshtml file and the view.generated.cs the correct method in System.Web.Mvc.dll, in the System.Web.Mvc namespace’s HtmlHelper class. I’ve downloaded the latest source for the RazorGenerator project and don’t see the word “forgery” contained within it anywhere, so I don’t think I’m getting confused about exactly which HtmlHelper.AntiForgeryToken() method I’m hitting.
The code sample of my unit test follows:
[Test]
public void Index_RendersView()
{
var view = new Index();
// For test to succeed, this should not throw exception
view.RenderAsHtml();
}
Pretty basic. I’ll spend some time digging under the hood to figure this one out and will follow up here if I figure this one out, but in the meantime I’m wondering if anyone else has encountered this and already worked out a solution.
I corresponded with David Ebbe, one of the (or, the) project owners on CodePlex, and he altered something within the RazorGenerator project source to fix this. Remarkably, he had it fixed within less than 1/2 hour of me asking the question on the CodePlex board.
I’m going to vote to have this question deleted since I don’t think there’s any value to keeping it around this site.