Jer*_*oen 5 c# entity-framework moq mocking
我有一种方法可以将 List 转换为 DbSet,我在模拟数据库上下文应返回的数据时使用该方法。例如:
MockedDatabaseContext.Setup(u => u.SomeTable).Returns(GetDbSet(ListOfItems));
Run Code Online (Sandbox Code Playgroud)
但是,我尝试编写单元测试的方法曾一度使用 ToListAsync 方法将 IQueryable 转换为列表。
有没有办法使用 Moq 框架在 ToListAsync 方法调用上进行设置?
我试过这个:
dbSet.Setup(d => d.ToListAsync(CancellationToken.None)).Returns((Task<List<T>>) Task.CompletedTask);
Run Code Online (Sandbox Code Playgroud)
但这会在上面的行中引发“ThrowIfSetupExpressionInvolvesUnsupportedMember”异常。