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); (编辑:台州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET Core中实现用户登录验证的最低配置示例代码
- ASP.NET MVC删除操作链接确认
- asp.net-mvc – 值不能为空或为空.参数名称:contentPath
- asp.net-mvc – 使用IIS基本身份验证的OWIN身份验证
- ASP.NET MVC 4 JSON绑定到视图模型 – 嵌套对象错误
- 使用asp.net控件创建无序列表?
- asp.net – NHibernate – ManagedWebSessionContext和WebS
- asp.net – 菜单控件生成的js导致Web窗体中的Sys未定义的异
- asp.net – VirtualPathUtility.ToAbsolute()VS. Url.Conte
- asp.net-mvc – 如何继承ASP.NET MVC控制器并仅更改视图?
- asp.net实现文件下载的代码
- ASP.NET中XML转JSON的方法实例
- asp.net-ajax – ASP.Net AJAX UpdatePanel无法触
- asp.net-mvc – 图像URL中的符号MVC导致一个潜在
- .NET 3.5 / VS 2008上的ASP.NET Web Services的自
- 增加ASP.NET站点的executionTimeout和maxRequest
- asp.net-mvc-3 – 在F#中的ViewBag动态对象上设置
- ASP.NET(C#)应用程序配置文件app.config/web.con
- asp.net-mvc – 使用AD的ASP.NET MVC表单Auth在本
- .net – Viewstate隐藏字段如此之大,一切都会崩溃