单元测试:如何从 ServiceCollection 获取 Configure class

Unit Test: How to get a Configure class from the ServiceCollection

我正在为我的 .Net Core 5 Web 应用程序编写单元测试。在 Startup.cs 中,我有 4 个类似于以下内容的不同调用:

services.Configure<ServicesSettings>(Configuration.GetSection("ServicesSettings"));

每个注入不同的 class。我尝试了以下方法:

ServicesSettings _serviceSettings = services.BuildServiceProvider().GetService<ServicesSettings>();
Assert.NotNull(_serviceSettings);

但它 returns 无效。我很惊讶我找不到类似的问题。我试图查看 ServiceCollection,但找不到方法。

获取 IOptions

的服务
IOptions<ServicesSettings> _serviceSettingOption = services.BuildServiceProvider().GetService<IOptions<ServicesSettings>>();
_serviceSetting = _serviceSettingOption.Value;

Assert.NotNull(_serviceSetting);

我相信你是单元测试配置注入capability/functionality,这不是必需的