c# - Web API 中的单元测试自定义路由

标签 c# asp.net-mvc-4 asp.net-web-api

我已经在这上面花了半天时间,但没有任何成功。如何在 Web API 中对路由进行单元测试?

我的意思是给定以下 URI:

~/Test/Get/2

我想对上面的 url 由测试 Controller 捕获并接受 int 参数的 Get 操作进行单元测试。

最佳答案

为了测试路由,我创建了一个库来帮助您进行断言 - MyWebApi:https://github.com/ivaylokenov/MyWebApi

基本上,您可以执行以下操作:

MyWebApi
    .Routes()
    .ShouldMap(“api/WebApiController/SomeAction/5”)
    .WithJsonContent(@”{“”SomeInt””: 1, “”SomeString””: “”Test””}”)
    .And()
    .WithHttpMethod(HttpMethod.Post)
    .To(c => c.SomeAction(5, new RequestModel
    {
        SomeInt = 1,
        SomeString = “Test”
    }));

如果想自己实现,可以看这里的代码,复制过来: https://github.com/ivaylokenov/MyWebApi/blob/master/src/MyWebApi/Utilities/RouteResolvers/InternalRouteResolver.cs

关于c# - Web API 中的单元测试自定义路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11386120/

相关文章:

c# - TreeView垂直滚动条没有展开到最后一个节点,最后一个节点被隐藏了?

c# - 缺少 DLL 和引用的问题

c# - 创建螺旋星系需要数学指导

c# - 尝试将 MEF 与 MVC Controller 一起使用时出现 CompositionContractMismatchException

c# - 获取 SignalR 连接启动错误堆栈

asp.net-mvc - 将 Web API 和 MVC 项目部署到 Azure 的正确方法是什么?

c# - 从 ASP.NET 5 Controller VS 2015 获取 wwwroot 文件夹路径

asp.net-mvc - 如何创建 MVC 4 @Html.TextBox 类型 ="file"?

c# - PostAsJsonAsync 不使用匿名类型从 Windows 服务调用 webapi 服务,有什么明显的错误吗?

c# - 如何在WebApi模型中使用HttpPostedFileBase(Post Action)