【问题标题】:Unit Testing Graph API SDK c#单元测试图形 API SDK c#
【发布时间】:2020-11-16 06:02:38
【问题描述】:

我正在尝试模拟这个图形 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>();

【问题讨论】:

标签: c# unit-testing .net-core microsoft-graph-api


【解决方案1】:

就模拟而言,只有一种方法可以进行所有图形调用并使用依赖注入来替换任意模拟。您可以保存一些真实调用的 json 响应并让您的模拟返回这些响应。它应该可以与您最喜欢的模拟 / DI 框架一起工作,或者只是制作自定义模拟。您可以查看使用 Moqexamples: 的实际 dot netsdk 图形:

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多