我正在为下面的代码编写单元测试,该代码使用带有 where(filter) 条件的 Document 客户端 CreateDocumentQuery 方法。
var documentQuery = ReadOnlyDocumentClient.CreateDocumentQuery<MyView>(UriFactory.CreateDocumentCollectionUri(Constants.COSMOS_DB_NAME, Constants.MY_VIEW_COL_NAME))
.Where(w => w.Name== query.Name)
.Where(w => w.DOB> query.StartDate && w.DOB < query.EndDate)
.AsDocumentQuery();
query 是一个命令参数,它是一个输入。
我正在使用 MOQ 来模拟,我正在使用下面的代码行来模拟
mockDocumentClient.Setup(s => s.CreateDocumentQuery<MyView>(It.IsAny<Uri>(), It.IsAny<FeedOptions>())).Returns(mockDocumentQuery.Object);
现在,上面的代码只模拟 CreateDocumentQuery 并且在执行 Where 条件时我没有得到模拟支持。
请建议我如何在 where 条件下模拟 CreateDocumentQuery?
提前致谢。