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 3 如何对MVC应用程序中的私有操作进行单元测试?_Asp.net Mvc 3_Unit Testing_Nunit - Fatal编程技术网

Asp.net mvc 3 如何对MVC应用程序中的私有操作进行单元测试?

Asp.net mvc 3 如何对MVC应用程序中的私有操作进行单元测试?,asp.net-mvc-3,unit-testing,nunit,Asp.net Mvc 3,Unit Testing,Nunit,我们可以对访问说明符为私有的操作进行单元测试吗?如果可能的话,我们如何对私有操作进行单元测试?您可以,但为什么有私有操作方法?我会重新思考一下这个架构。如果您忘记将其设置为私有,它将成为URL可寻址的 但是,如果您确实想这样做,请右键单击该方法并添加单元测试。单元测试项目将向apps assemblyinfo.cs[InternalsVisibleTo]添加一个项,这样就可以通过在测试项目中创建的代理访问它的私有方法。 这有点混乱,我们不妨将其拉到一个单独的类中,并将其公开或内部等一个选项是将操

我们可以对访问说明符为私有的操作进行单元测试吗?如果可能的话,我们如何对私有操作进行单元测试?

您可以,但为什么有私有操作方法?我会重新思考一下这个架构。如果您忘记将其设置为私有,它将成为URL可寻址的

但是,如果您确实想这样做,请右键单击该方法并添加单元测试。单元测试项目将向apps assemblyinfo.cs[InternalsVisibleTo]添加一个项,这样就可以通过在测试项目中创建的代理访问它的私有方法。
这有点混乱,我们不妨将其拉到一个单独的类中,并将其公开或内部等

一个选项是将操作公开,并用
非ActionAttribute
装饰它

你能给我一个例子,在mvc应用程序中对私有操作方法进行单元测试吗?右键单击它,选择“创建单元测试”,其余的将为您完成。这绝对不是一个选项。这是一个糟糕的做法,不幸的是,该属性甚至存在。如果您的控制器上有一个不可路由的公共方法,那么您违反了该控制器应该执行的操作。将它放在另一个项目/类中,并测试(如下所述)在结尾处的注释