我需要创建一个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/

10-12 15:48