Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/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 自定义模型绑定如何影响测试?_Asp.net Mvc_Asp.net Mvc 3_Asp.net Mvc 2 - Fatal编程技术网

Asp.net mvc 自定义模型绑定如何影响测试?

Asp.net mvc 自定义模型绑定如何影响测试?,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-2,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 2,我必须创建一个自定义模型绑定器来绑定复杂对象的数据,请参见此处: 然而,我想知道这样做如何影响测试,因为如果我直接测试控制器方法(不设置上下文等),绑定器应该会失败,对吗?也许我只是不清楚如何测试控制器。 谢谢您只需独立测试它们 在ASP.NET MVC管道中,您不需要测试是否在适当的时间调用该绑定器,就需要该绑定器来正确地形成要传递给控制器操作的对象实例。只要测试一下,给定正确的输入,您的定制活页夹就会为您的控制器产生正确的输出和相同的输出(以及您认为合适的任何负面测试)。我认为@rich.

我必须创建一个自定义模型绑定器来绑定复杂对象的数据,请参见此处:

然而,我想知道这样做如何影响测试,因为如果我直接测试控制器方法(不设置上下文等),绑定器应该会失败,对吗?也许我只是不清楚如何测试控制器。
谢谢

您只需独立测试它们


在ASP.NET MVC管道中,您不需要测试是否在适当的时间调用该绑定器,就需要该绑定器来正确地形成要传递给控制器操作的对象实例。只要测试一下,给定正确的输入,您的定制活页夹就会为您的控制器产生正确的输出和相同的输出(以及您认为合适的任何负面测试)。

我认为@rich.okelly解决了这个问题:独立测试。我唯一想补充的是,在测试控制器时,还有几个其他问题需要记住。例如,当控制器在运行时执行时,会触发一系列事件(例如OnActionExecuting、OnActionExecuted),但当您通过单元测试进行测试时,这些方法不会自动执行。这使得测试控制器更难测试,因为存在大量耦合。