NB: This post relates to version 1 of ASP.Net MVC
I recently added a static extension method for generating a custom drop down list and wanted to test it using Rhino Mocks (version 3.5).
One issue I kept banging my head against was how to create a Mock HtmlHelper in order to call the method correctly.
A number of posts later, and various attempts at using some of the sample code and I finally came across this post detailing a bunch of MVC tests.
After a minor amount of customising, I ended up with the following, which works like a charm for me to use in my tests.
///
/// Creates a HTML helper for use in tests.
///
private HtmlHelper CreateHtmlHelper()
{
var userControl = new ViewUserControl();
var container = new ViewPage();
container.Controls.Add(userControl);
var context = MockRepository.GenerateMock<ViewContext>();
userControl.ViewContext = context;
return userControl.Html;
}
Tags: development, Testing