asp.net-web-api – 在ASP.NET Web API控制器的nunit测试中实例化新的System.We
我有一个ASP.NET MVC4 Web API项目与ApiController继承的控制器接受一个ODataQueryOptions参数作为其输入之一. 我正在使用NUnit和Moq来测试该项目,这使我能够从ApiController使用的相关的存储库方法中设置canned响应.这样做,如: [TestFixture] public class ProjectControllerTests { [Test] public async Task GetById() { var repo = new Mock<IManagementQuery>(); repo.Setup(a => a.GetProjectById(2)).Returns(Task.FromResult<Project>(new Project() { ProjectID = 2,ProjectName = "Test project",ProjectClient = 3 })); var controller = new ProjectController(repo.Object); var response = await controller.Get(2); Assert.AreEqual(response.id,2); Assert.AreEqual(response.name,"Test project"); Assert.AreEqual(response.clientId,3); } } 我所面临的挑战是,要使用这种模式,我需要将相关的querystring参数传递给控制器以及存储库(这实际上是我的意图).然而,在使用ODataQueryOptions接受ApiController方法的情况下,即使在我想仅使用ODataQueryOptions的默认参数的情况下,我需要知道如何实例化一个.这变得棘手: > ODataQueryOptions不实现接口,所以我不能直接模拟它. 我需要做什么/有更好的方法吗? 谢谢. 解决方法看来,其他人在 here的评论中已经回答了这个问题,但这不是我的用例的完整解决方案(见下面的评论):ODataModelBuilder modelBuilder = new ODataConventionModelBuilder(); modelBuilder.EntitySet<Customer>("Customers"); var opts = new ODataQueryOptions<Customer>(new ODataQueryContext(modelBuilder.GetEdmModel(),typeof(Customer)),request); (编辑:4S站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 什么是在asp.net中301重定向更推荐的方法?
- asp.net-mvc – ASP.NET MVC – RequireJS最佳的多页面应用
- 如何从经典ASP输出Excel * .xls文件
- asp.net-mvc – 使用Viewbag绑定DropdownlistFor
- asp.net – 无法在UpdatePanel中下载文件
- asp.net – 查询字符串参数使我的应用程序面临风险?
- asp.net-mvc – SelectListItem中的Selected属性永远不会起
- asp.net – Html.Partial()跳过控制器动作
- asp.net-mvc – 在EditorFor for child对象中使用时,MVC无法
- asp.net-mvc – MVC4部分视图没有将值加载到“容器”模型中
- 如何排序. .NET中的resx(资源文件)
- asp.net – Umbraco CMS(.NET):加载xslt /用户控
- asp.net代码中修改web.config节点的具体方法
- asp.net – 单个应用程序中的多个母版页
- asp.net 文章分页显示实现代码
- asp.net-mvc – 寻找第三方CMS与MVC网站集成
- asp.net-mvc – 不要在ASP .NET MVC 4 BundleCon
- asp.net-web-api – 使用swashbuckle api文档的h
- ASP.NET代码隐藏中的当前工作目录 – 我们可以依
- asp.net-mvc – ASP.net MVC DropDownList预选项