Как получить Модель от ActionResult?

Я пишу модульный тест, и я называю метод действия как это

var result = controller.Action(123);

результат ActionResult и я должен получить модель так или иначе, кто-либо знает, как сделать это?

23
задан Richard Everett 30 December 2013 в 15:54
поделиться

2 ответа

В моей версии ASP.NET MVC там не Действие метод на Контроллере. Однако, если вы имели в виду Представление метод, вот то, как вы можете единица тестировать это, результат содержит корректную модель.

, В первую очередь, если вы только возвращаете ViewResult из особого Действия, объявляют метод как возврат ViewResult вместо ActionResult.

Как пример, рассмотрите это Индексное действие

public ViewResult Index()
{
    return this.View(this.userViewModelService.GetUsers());
}

, можно добраться до модели так же легко как это

var result = sut.Index().ViewData.Model;

, Если типом возврата сигнатуры метода будет ActionResult вместо ViewResult, то необходимо будет бросить его в ViewResult сначала.

33
ответ дан 29 November 2019 в 01:10
поделиться

Рассмотрим a = ActionResult;

ViewResult p = (ViewResult)a;
p.ViewData.Model
10
ответ дан 29 November 2019 в 01:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: