I want to write a unit test to ensure that the view I am returning is the correct one.
My plan is to write a test that first invokes the controller and then calls the ActionResult method I plan to test
I thought I could write something like
Controller controller = new HomeController();
var actionresult = controller.Index();
Assert.False(actionresult.ToString(), String.Empty);
which would then allow me to parse the actionresult for the test value.
However I cannot directly instantiate the public ActionResult Index() method.
How do I do this?
Here’s an example from Professional ASP.NET MVC 1.0 (book):
Note that this will fail if you don’t return an explicit view in your controller method, i.e. do this:
not this:
Or the test won’t pass. You should only need to do this if your method will ever return more than one view, otherwise you should return an implicit view anyway and not bother testing the framework.