繁体   English   中英

Moq设置返回一些硬编码的POCO

[英]Moq setup to return some hardcoded POCO

我正在尝试使用此链接来获取moq中的一些对象以传递给我的服务。 http://allen-conway-dotnet.blogspot.com/2014/01/creating-unit-test-using-moq-to-stub.html

我在返回()函数上遇到错误,说没有满足这个的重载函数。 全部,返回一个IQueryable对象。

Mock<IGroupsRepository> groupRepo;

groupRepo.Setup(m => m.All).Returns(new List<GROUPS>()
                {
                    new GROUPS { ID = 0, GROUP_NAME = "TEST1", CREATED_DATE = DateTime.Now, CREATED_BY = "Joe Blow", DESCRIPTION = "Test1" },
                    new GROUPS { ID = 1, GROUP_NAME = "TEST2", CREATED_DATE = DateTime.Now, CREATED_BY = "Joe Blow", DESCRIPTION = "Test2" }
                });

全部,返回一个IQueryable对象。

List<GROUPS>没有实现IQueryable<T> ,因此All永远不会返回这样的列表。

您可以在列表上调用AsQueryable来获取列表的IQueryable<T>表示。

var queryable = new List<GROUPS>()
                {
                    new GROUPS { ID = 0, GROUP_NAME = "TEST1", CREATED_DATE = DateTime.Now, CREATED_BY = "Joe Blow", DESCRIPTION = "Test1" },
                    new GROUPS { ID = 1, GROUP_NAME = "TEST2", CREATED_DATE = DateTime.Now, CREATED_BY = "Joe Blow", DESCRIPTION = "Test2" }
                }.AsQueryable();


groupRepo.Setup(m => m.All).Returns(queryable);
new List<GROUPS>()
                {
                    new GROUPS { ID = 0, GROUP_NAME = "TEST1", CREATED_DATE = DateTime.Now, CREATED_BY = "Joe Blow", DESCRIPTION = "Test1" },
                    new GROUPS { ID = 1, GROUP_NAME = "TEST2", CREATED_DATE = DateTime.Now, CREATED_BY = "Joe Blow", DESCRIPTION = "Test2" }
                }
        .AsQueryable()

AsQueryable()应该使它与IQueryable返回类型兼容

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM