Для чего это стоит - я пересмотрел свой тест моего метода расширения следующим образом (с учетом обратной связи Дж. Тихона):
public static void AssertViewWasReturned(this ActionResult result, string viewName, string defaultViewName)
{
Assert.IsInstanceOf<ViewResultBase>(result, "Result is not an instance of ViewResultBase");
var viewResult = (ViewResultBase)result;
var actualViewName = viewResult.ViewName;
if (actualViewName == "")
actualViewName = defaultViewName;
Assert.AreEqual(viewName, actualViewName, string.Format("Expected a View named{0}, got a View named {1}", viewName, actualViewName));
}
Это означает, что мои модульные тесты могут содержать код, подобный этому:
var result = controller.MyAction();
result.AssertViewWasReturned("ExpectedViewName","MyAction")
Это не так хорошо, как я надеялся, так как мне нужно указать 'defaultViewName' (то есть имя действия), но это разумный компромисс.