在单元测试框架中运行时 azure tenant id null

azure tentant id null when running in the unit test framework

我有一个 azure mvc 应用程序,它有一些代码涉及针对 azure 活动目录的身份验证。 我想写 som 集成测试。我面临的问题是我的一些生产代码调用声明类型,当我在单元测试框架中运行时这些类型不可用。例如下面的行:

ClaimsPrincipal.Current.FindFirst("http://schemas.microsoft.com/identity/claims/tenantid").Value;

我该如何解决这个问题?

我在 Azure AD 团队工作。我们的大多数合作伙伴和客户都使用测试 Azure AD 实例进行测试和暂存。我建议您也这样做。要自动化测试自动化,您需要静默获取令牌 - 为此,我建议您在测试用例中使用资源所有者密码授予 OAuth 流程 - 示例控制台应用程序位于此处:https://github.com/AzureADSamples/NativeClient-Headless-DotNet

希望对您有所帮助。