我正在为下面的代码编写单元测试,这些代码使用带有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();
Run Code Online (Sandbox Code Playgroud)
查询是一个命令参数,它是一个输入。
我正在使用最小起订量进行模拟,并且正在使用以下代码行进行模拟
mockDocumentClient.Setup(s => s.CreateDocumentQuery<MyView>(It.IsAny<Uri>(), It.IsAny<FeedOptions>())).Returns(mockDocumentQuery.Object);
Run Code Online (Sandbox Code Playgroud)
现在,上面的代码仅模拟CreateDocumentQuery,执行条件时,我没有得到模拟支持。
请提出如何在哪里条件下模拟CreateDocumentQuery?
提前致谢。
我想知道如何在表达式树中代表c#代码.
var list = new List<CustomClass>();
list.add(new CustomClass());
Run Code Online (Sandbox Code Playgroud)
其中CustomClass是一些复杂的类型.
就像使用Expression.NewArrayInit初始化数组一样
谢谢