我正在为 WebAPI 控制器编写一些单元测试,我想断言的方面之一是参数匹配。
我遵循了Filip Wojcieszyn 的博客中使用的方法,该方法运行良好,但我现在正在寻求扩展它的断言。
我在一个控制器上做了三个动作(这三个动作都经过实际使用验证):
[HttpGet]
public IEnumerable<Task> Get()
[HttpGet]
public IEnumerable<Task> Get(string elementType)
[HttpGet]
public Task Get(long id)
我有以下代码
var actionSelector = new ApiControllerActionSelector();
var descriptor = actionSelector.SelectAction(_controllerContext);
return descriptor.GetParameters();
问题是,当我在无参数路由上调用 descriptor.GetParameters() 时,它返回一个包含 1 个参数的集合 - “long id”参数。
谁能解释为什么它只返回这个而不返回其他两个重载,以及是否有可能获得重载的可能性?