Я пишу модульный тест, и я называю метод действия как это
var result = controller.Action(123);
результат ActionResult
и я должен получить модель так или иначе, кто-либо знает, как сделать это?
В моей версии ASP.NET MVC там не Действие
метод на Контроллере. Однако, если вы имели в виду Представление
метод, вот то, как вы можете единица тестировать это, результат содержит корректную модель.
, В первую очередь, если вы только возвращаете ViewResult из особого Действия, объявляют метод как возврат ViewResult вместо ActionResult.
Как пример, рассмотрите это Индексное действие
public ViewResult Index()
{
return this.View(this.userViewModelService.GetUsers());
}
, можно добраться до модели так же легко как это
var result = sut.Index().ViewData.Model;
, Если типом возврата сигнатуры метода будет ActionResult вместо ViewResult, то необходимо будет бросить его в ViewResult сначала.
Рассмотрим a = ActionResult;
ViewResult p = (ViewResult)a;
p.ViewData.Model