Asp.net mvc 控制器的MVC单元测试中出错
我的单元测试项目中有一个代码块,如下所示Asp.net mvc 控制器的MVC单元测试中出错,asp.net-mvc,unit-testing,Asp.net Mvc,Unit Testing,我的单元测试项目中有一个代码块,如下所示 IEnumerable<Product> result = (IEnumerable<Product>)controller.List(2).Model; 如何解决此问题?如果操作返回视图,请将其强制转换为 ((ViewResult)(IEnumerable)controller.List(2)).Model @archil的答案将在运行时引发异常: Unable to cast object of type 'System.W
IEnumerable<Product> result = (IEnumerable<Product>)controller.List(2).Model;
如何解决此问题?如果操作返回视图,请将其强制转换为
((ViewResult)(IEnumerable)controller.List(2)).Model
@archil的答案将在运行时引发异常:
Unable to cast object of type 'System.Web.Mvc.ViewResult' to type 'System.Collections.Generic.IEnumerable`1[Product]'.
正确的演员阵容是:
IEnumerable<Product> result = (IEnumerable<Product>)((ViewResult)controller.List(2)).Model;
在单元测试中使用:
IEnumerable<Product> result = (IEnumerable<Product>)controller.List(2).Model;
IEnumerable结果=(IEnumerable)controller.List(2.Model);
无需强制转换,只需将操作更改为public ViewResult List(int param)
IEnumerable<Product> result = (IEnumerable<Product>)((ViewResult)controller.List(2)).Model;
public ViewResult List(int param)
IEnumerable<Product> result = (IEnumerable<Product>)controller.List(2).Model;