我需要创建一个MongoDB存储库模拟。在我的存储库中有一个返回IMongoQueryable<T>
的方法。我不知道如何创建实现这个接口的对象。
我真的需要嘲笑这种方法。我看到了IMongoQueryable
界面,看到了一个IQueryable
界面,看:
public interface IMongoQueryable<T> : IMongoQueryable, IQueryable<T>, IAsyncCursorSource<T>
我想我可以根据对象列表创建一个MongoDB集合,但是我也没有创建这个集合的实例。如果创建
MongoCollection
的实例,则可能调用AsQueryable
方法返回IMongoQueryable
对象。有人想这么做吗?
最佳答案
当我遇到这个问题时,我只需为moq打开严格的模拟,然后继续运行测试模拟方法,直到它停止抛出关于接口的异常。
var mock = new Mock<IMongoQueryable<Foo>>(MockBehavior.Strict);
//add setup here as you run in to exceptions.
var mockInstance = mock.Object;
关于c# - 如何将IQueryable <T>集合转换为IMongoQueryable <T>?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46691413/