using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using HttpClientStudy.Config; using Microsoft.Extensions.Options; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; namespace HttpClientStudy.UnitTest.ConfigTest { public class WebApiConfigTest { [Fact] public void WebApiOption_Test() { ConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); configurationBuilder.AddWebApiConfigration(); IConfiguration configuration = configurationBuilder.Build(); var services = new ServiceCollection(); services.AddSingleton(configuration); services.AddWebApiOptions(); var provider = services.BuildServiceProvider(); IOptions webApiOptions = provider.GetService>(); var webApiConfig = webApiOptions.Value; Assert.NotNull(webApiOptions); Assert.NotEmpty(webApiConfig.BaseUrl); } [Fact] public void WebApiOption_Test2() { IOptionsMonitor webApiMonitor = WebApiConfigManager.GetWebApiConfigOption(); Assert.NotNull(webApiMonitor); var webApiConfig = webApiMonitor.CurrentValue; Assert.NotNull(webApiConfig); } } }