我试图通过此链接获取moq中的一些对象以传递给我的服务。 http://allen-conway-dotnet.blogspot.com/2014/01/creating-unit-test-using-moq-to-stub.html
我在Returns()函数上遇到错误,说没有满足此功能的重载函数。全部,返回一个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" }
});
答案 0 :(得分:2)
全部,返回一个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);
答案 1 :(得分:1)
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
返回类型