我正在编写一个单元测试,然后调用这样的操作方法
var result = controller.Action(123);
结果是
ActionResult
,我需要以某种方式获取模型,有人知道该怎么做吗? 最佳答案
在我的ASP.NET MVC版本中,Controller上没有Action
方法。但是,如果您的意思是View
方法,则可以通过以下方法对结果包含正确的模型进行单元测试。
首先,如果仅从特定的Action返回ViewResult,则将方法声明为returning ViewResult instead of ActionResult。
举个例子,考虑一下这个Index Action
public ViewResult Index()
{
return this.View(this.userViewModelService.GetUsers());
}
您可以像这样轻松地进入模型
var result = sut.Index().ViewData.Model;
如果方法签名的返回类型是ActionResult而不是ViewResult,则需要首先将其强制转换为ViewResult。