如何模拟查找Mongocollection的扩展方法

时间:2019-02-03 05:48:52

标签: c# mongodb unit-testing moq xunit

我正在尝试为Mongo驱动程序模拟下面的GetAsync方法。

代码

var mongoDB = client.GetDatabase( dbname );
var collection = database.GetCollection<T>( collectionname );

public async Task<T> GetAsync( Guid id )
{
    return await collection.Find( m => m.Id == id ).FirstOrDefaultAsync();
}

测试代码

我正在尝试类似以下的内容

var CollectionResult = new Mock<IFindFluent<DocumentEntity, DocumentEntity>>();
var mongoCollection = new Mock<IMongoCollection<DocumentEntity>>();
mongoCollection.Setup(mc => mc.Find  (It.IsAny<FilterDefinition<DocumentEntity>>(), It.IsAny<FindOptions>() ) ).Returns( () =>   { return CollectionResult; } );

它在扩展方法上给出了Invalidsetup错误。

有什么解决的帮助吗?

0 个答案:

没有答案