use*_*322 8 asp.net-mvc unit-testing controlleractioninvoker
我ControllerActionInvoker用来调用单元测试的控制器动作
var controllerInvoker = new ControllerActionInvoker();
var result = controllerInvoker.InvokeAction(
testController.ControllerContext, "Default" );
Run Code Online (Sandbox Code Playgroud)
如何使用它来调用具有参数的动作?
[AcceptVerbs( HttpVerbs.Post )]
[ActionException( SomeAttribute )]
public SomeResult AddMethod( long[] Ids )
{
//some code
}
Run Code Online (Sandbox Code Playgroud)
从文档来看,您似乎想要使用 InvokeActionMethod 方法,该方法允许您将 IDictionary 中的参数作为第三个参数传递。
ControllerContext 实际上携带了控制器将用于绑定的附加数据(过滤器、模型绑定器、路由数据)。您的参数需要通过 ControllerContext 传递。
我找到了一个关于单元测试控制器的例子。