单元测试图API SDK c#

单元测试图API SDK c#,c#,unit-testing,.net-core,microsoft-graph-api,C#,Unit Testing,.net Core,Microsoft Graph Api,我试图模拟这个graph API SDK代码 private readonly GraphServiceClient _client; IMailFolderMessagesCollectionPage msgs = await _client.Users[userEmailAddress].MailFolders[folderNameId] .Messages.Request().WithMaxRetry(5).WithMaxRetry(new TimeSp

我试图模拟这个graph API SDK代码

 private readonly GraphServiceClient _client;
 IMailFolderMessagesCollectionPage msgs = await _client.Users[userEmailAddress].MailFolders[folderNameId]
                .Messages.Request().WithMaxRetry(5).WithMaxRetry(new TimeSpan(0, 0, 0, 5, 0)).Filter(emailFilter).GetAsync();
我不知道如何在一行中模拟索引属性和方法的链接。我尝试了以下操作,但没有成功。有什么建议吗?谢谢

  private Mock<IGraphServiceClient> mockGsc;
  mockGsc = new Mock<IGraphServiceClient>();
  mockGsc.Setup(x => x.Users[It.IsAny<string>()].MailFolders[It.IsAny<string>].Messages.Request().WithMaxRetry(It.IsAny<int>).WithMaxRetry(It.IsAny<TimeSpan>).Filter(It.IsAny<string>).GetAsync()).Returns< IMailFolderMessagesCollectionPage>();
private mockGsc;
mockGsc=新Mock();
mockGsc.Setup(x=>x.Users[It.IsAny()].MailFolders[It.IsAny].Messages.Request().WithMaxRetry(It.IsAny).WithMaxRetry(It.IsAny).Filter(It.IsAny).GetAsync())。返回
就模拟而言,只需使用一种方法进行所有图形调用,并使用依赖项注入替换任意模拟即可。您可以保存一些真实调用的json响应,并让模拟返回这些响应。它应该可以与您最喜欢的mock/DI框架配合使用,或者只是定制mock。您可以查看实际的点netsdk for graph for:,它使用:

在模拟方面,只需使用一个方法进行所有图形调用,并使用依赖项注入替换任意模拟。您可以保存一些真实调用的json响应,并让模拟返回这些响应。它应该可以与您最喜欢的mock/DI框架配合使用,或者只是定制mock。您可以查看实际的dot netsdk for graph示例:它使用Moq:我认为您发送的示例页面不起作用