Кроме того, метод Controller.View (String) устанавливает ViewName.
аю несколько простых модульных тестов MS на своем стандартном, ничего особенного контроллере.
Когда я проверяюViewName
proprty, из возвращенныхViewResult
объект, это""
(Пусто).
У меня сложилось впечатление, чтоViewName
подразумевается под именемView
(какпредложенный этой статьей MS на тестирование контроллера ASP.NET MVC).
Кстати, когда я проверяю ViewData, все там и правильно.
Вот код, который у меня есть ...
public ActionResult Index(int? page, string tag)
{
if (page == null || page <= 0)
{
page = 1;
}
var viewData = new IndexViewData
{
... my property setters, etc ...
};
return View(viewData);
}
[TestMethod]
public void Index_Action_Should_Return_Index_View_For_Default_HomePage()
{
// Arrange.
var controller = PostController; // Wrapper, cause I use D.I.
// Act.
ViewResult viewResult = controller.Index(null, null) as ViewResult;
// Assert.
Assert.IsNotNull(viewResult);
Assert.AreEqual("Index", viewResult.ViewName); // This is false/fails.
var indexViewData = viewResult.ViewData.Model as IndexViewData;
Assert.IsNotNull(indexViewData); // This is true.
}