asp.net-mvc – 模拟任务>与NSubstitute
发布时间:2020-12-16 03:29:54 所属栏目:asp.Net 来源:网络整理
导读:我在尝试让NSubstitute从Task返回IEnumerable接口时遇到问题. 工厂我在嘲笑: public interface IWebApiFactoryT : IDisposable{ T GetOne(int id); TaskIEnumerableT GetAll(); TaskIEnumerableT GetMany(); void SetAuth(string token);} 测试方法: [Test
我在尝试让NSubstitute从Task返回IEnumerable接口时遇到问题.
工厂我在嘲笑: public interface IWebApiFactory<T> : IDisposable { <T> GetOne(int id); Task<IEnumerable<T>> GetAll(); Task<IEnumerable<T>> GetMany(); void SetAuth(string token); } 测试方法: [TestMethod] public async Task TestMutlipleUsersAsViewResult() { var employees = new List<EmployeeDTO>() { new EmployeeDTO(),new EmployeeDTO() }; // Arrange var factory = Substitute.For<IWebApiFactory<EmployeeDTO>>(); factory.GetMany().Returns(Task.FromResult(employees)); } 我得到的错误是:
这是一个问题,我传递一个列表,作为一个提出IEnumerable,即使List是IEnumerable? 编辑: 这些是NSubstitute中的功能 public static ConfiguredCall Returns<T>(this T value,Func<CallInfo,T> returnThis,params Func<CallInfo,T>[] returnThese); public static ConfiguredCall Returns<T>(this T value,T returnThis,params T[] returnThese); 解决方法
没有任何重载是您传递的值的良好匹配.第二个签名,public static ConfiguredCall返回< T>(此T值,params T [] returnThese);期望与函数的返回类型相同类型的值,因此它不是最佳匹配.
解决此问题的最简单方法是将员工声明更改为IEnumerable< EmployeeDTO> : IEnumerable<EmployeeDTO> employees = new List<EmployeeDTO>() { new EmployeeDTO(),new EmployeeDTO() }; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 在.aspx上获得MVC Razor青睐.cshtml
- asp.net-mvc – 迁移到WebApi 2.2 RC并获取响应状态406(不可
- asp.net – System.Web.UI.ViewStateException,无效的views
- asp.net-mvc – ASP.NET MVC:View有时作为application / j
- asp.net – 我可以在URL中使用逗号吗?
- asp.net-mvc – Visual Studio 2015 – ASP.Net应用程序将不
- asp.net-mvc – 神控制器 – 如何防止它们?
- VS 2015预览缺少“ASP.NET 5 Web应用程序”项目类型?
- asp.net-mvc – MVC查看可空的日期字段格式
- asp.net-mvc – 部署后不显示捆绑的css … ASP.NET MVC4