如何使用最小起订量模拟 Microsoft Graph API GraphServiceClient
How to mock Microsoft Graph APIs GraphServiceClient using moq
我的项目正在使用 GraphServiceClient 来获取用户组名称,使用下面的 code.This 也在使用 Microsoft.Identity.Web 包,因此 GraphServiceClient 是通过构造函数注入的。
var group = await graphClient.Me.TransitiveMemberOf
.Request()
.GetAsync();
组变量然后用于获取组的显示名称。
我想使用 NUnit 和 Moq 对上述代码进行单元测试。
var mockAuthProvider = new Mock<IAuthenticationProvider>();
var mockHttpProvider = new Mock<IHttpProvider>();
var mockGraphClient = new Mock<GraphServiceClient>(mockAuthProvider.Object, mockHttpProvider.Object);
mockGraphClient.Setup(c => c.Me.TransitiveMemberOf.Request().GetAsync(CancellationToken.None)).ReturnsAsync(???);
ReturnAsync 将 return IUserTransitiveMemberOfCollectionWithReferencesPage,但我如何为其提供默认值以便我可以测试实际获取 displayName
的方法的其余部分
提前致谢。
创建 UserTransitiveMemberOfCollectionWithReferencesPage
的新实例并向当前页面添加新的 Group
项。
UserTransitiveMemberOfCollectionWithReferencesPage page = new
UserTransitiveMemberOfCollectionWithReferencesPage
{
AdditionalData = new Dictionary<string, object>(),
};
page.Add(new Group { DisplayName = "MyName" });
Return ReturnsAsync
方法中的页面
mockGraphClient.Setup(c => c.Me.TransitiveMemberOf.Request().GetAsync(CancellationToken.None))
.ReturnsAsync(() => page);
我的项目正在使用 GraphServiceClient 来获取用户组名称,使用下面的 code.This 也在使用 Microsoft.Identity.Web 包,因此 GraphServiceClient 是通过构造函数注入的。
var group = await graphClient.Me.TransitiveMemberOf
.Request()
.GetAsync();
组变量然后用于获取组的显示名称。
我想使用 NUnit 和 Moq 对上述代码进行单元测试。
var mockAuthProvider = new Mock<IAuthenticationProvider>();
var mockHttpProvider = new Mock<IHttpProvider>();
var mockGraphClient = new Mock<GraphServiceClient>(mockAuthProvider.Object, mockHttpProvider.Object);
mockGraphClient.Setup(c => c.Me.TransitiveMemberOf.Request().GetAsync(CancellationToken.None)).ReturnsAsync(???);
ReturnAsync 将 return IUserTransitiveMemberOfCollectionWithReferencesPage,但我如何为其提供默认值以便我可以测试实际获取 displayName
的方法的其余部分提前致谢。
创建 UserTransitiveMemberOfCollectionWithReferencesPage
的新实例并向当前页面添加新的 Group
项。
UserTransitiveMemberOfCollectionWithReferencesPage page = new
UserTransitiveMemberOfCollectionWithReferencesPage
{
AdditionalData = new Dictionary<string, object>(),
};
page.Add(new Group { DisplayName = "MyName" });
Return ReturnsAsync
方法中的页面
mockGraphClient.Setup(c => c.Me.TransitiveMemberOf.Request().GetAsync(CancellationToken.None))
.ReturnsAsync(() => page);