单元测试 – 测试urlhelper的WebApi单元现在为空
发布时间:2020-12-16 06:50:16 所属栏目:asp.Net 来源:网络整理
导读:我有一些单元测试在WebApi项目中测试帖子它是WebApi 1.0版本,我已经升级到webapi 2.0,现在在尝试构建响应时,并添加新资源的位置ApiController.Url返回null .在升级之前,这些单元测试正在通过. 这是控制器的设置 var config = new HttpConfiguration();SetDep
我有一些单元测试在WebApi项目中测试帖子它是WebApi 1.0版本,我已经升级到webapi 2.0,现在在尝试构建响应时,并添加新资源的位置ApiController.Url返回null .在升级之前,这些单元测试正在通过.
这是控制器的设置 var config = new HttpConfiguration(); SetDependencyResolver(config,type); var request = new HttpRequestMessage(method,url); var route = config.Routes.MapHttpRoute("DefaultApi","api/{controller}/{id}"); var routeData = new HttpRouteData( route,new HttpRouteValueDictionary { { "controller",controllerName } }); request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config; request.Properties[HttpPropertyKeys.HttpRouteDataKey] = routeData; controller.Configuration = config; controller.ControllerContext = new HttpControllerContext(config,routeData,request); controller.Request = request; 这是失败的电话.请注意,返回null的Url对象 response.Headers.Location = new Uri(Url.Link("DefaultApi",new { id = claimsCommand.Id })); 那我现在做错了什么我升级到了最新版本? 解决方法
我在
Stackoverflow的其他地方找到了答案
在上面第一个代码示例的最后一行代码中的WebApi 1.0中 Controller.Request = request; 控制器创建一个UrlHelper并填充属性controller.Url.在Web Api 2.0中不再发生这种情况.另一个主题的建议是在你的单元测试中自己创建它.所以我添加了一行(如另一个帖子中所示). controller.Url = new UrlHelper(request); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- AllowOnlyAlphanumericUserNames – 如何设置? (RC到RTM破
- asp.net-mvc – 用于OpenID OAuth简单身份验证的ASP.NET MV
- asp.net-mvc – 不需要必需属性的bool属性
- asp.net-mvc – Web api自定义路由
- asp.net-mvc – Visual Studio不允许在MVC视图中使用断点
- asp.net-mvc – Asp MVC不引人注目的客户端验证始终返回tru
- asp.net-mvc – MVC视图| *你如何*处理IsAuthenticated方案
- asp.net – Ninject程序集与引用的程序集不匹配
- asp.net – 命令超时和连接超时之间的区别
- Fiddler无法正常抓取谷歌等浏览器的请求_解决方案
推荐文章
站长推荐
- ASP.NET JSON Web令牌“401 Unauthorized”
- asp.net-mvc-3 – 在ASP.NET MVC中,“<%=”,“<
- 十七点学完安全知识超级详细了解进程和病毒知识
- asp.net – Web应用程序 – 结合还是分开?
- asp.net-mvc – 授权属性不工作MVC 5
- asp.net gridview复选框选择
- asp.net-mvc – 使用viewModels通过MVC中的User
- asp.net – “DataView未在System.data中标记为可
- asp.net – COM异常 – TYPE_E_CANTLOADLIBRARY?
- IIS 7中为ASP.NET缺少MIME类型404.17
热点阅读