Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 控制器的MVC单元测试中出错_Asp.net Mvc_Unit Testing - Fatal编程技术网

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;