#asp.net-mvc
#asp.net-mvc
Вопрос:
От контроллера Action
:
return PartialView("Page1",obj);
Теперь в MVC
тестировании я должен проверить, является ли obj экземпляром CLASS: ClassObj
Я пытаюсь
var actualResult=controller.getObj();
Assert.IsInstanceOf(ClassObj,actualResult,"Fail");
но проблема в том, что actualResult является PartialViewResult.
Как я могу получить модель из него?
Спасибо.
Ответ №1:
Вы можете посмотреть на свойство ViewData результирующего объекта.
от контроллера:
ViewData["data"] = obj;
в тесте:
var result = controller.Action();
Assert.IsOfType<PartialViewResult>(result);
var data = ((PartialViewResult)result).ViewData["data"];
Или, если представление введено, вы можете получить доступ к модели напрямую. (Я не совсем уверен в коде, вам нужно его протестировать).
var data = (ViewPage<ModelType>((PartialViewResult)result).View).Model;
Комментарии:
1. если представление введено, то вы могли бы получить доступ к модели напрямую?? Как это делается?
2. Там будет поле Модели. Я попытаюсь добавить ее к примеру.