单元测试类:
ServiceProvider _serviceProvider; IConfiguration _config; [SetUp] public void Setup() { _config = new ConfigurationBuilder() .Add(new JsonConfigurationSource { Path = "appsettings.json", ReloadOnChange = true }) .Build(); IServiceCollection services = new ServiceCollection(); _serviceProvider = services.BuildServiceProvider(); } [Test] public void IQueryRecordService_UnitTest() { var config = _config.Get<AppSettingOptions>(); var demoModelCodes = config.DemoModelCodes; var list = new List<object>(); if (demoModelCodes != null && demoModelCodes.Count > 0) { foreach (var item in demoModelCodes) { list.Add(Query("阿司匹林8", "110101198708162325", "13145678901", item.ProductLine)); } } Console.WriteLine(JsonConvert.SerializeObject(list)); Assert.True(list.Count > 0); }
AppSettingOptions类:
public class AppSettingOptions : IAppSetting { public AppSettingOptions() { var configBuilder = new ConfigurationBuilder(); configBuilder.AddJsonFile("appsettings.json"); var config = configBuilder.Build(); var section = config.GetSection("AppSettings"); section.Bind(this); } public string DemoDB { get; set; } public bool OnePageReportCollectionSwitch { get; set; } public string[] OnePageReportCollectionFields { get; set; } public List<ProductModel> DemoModelCodes { get; set; } } public class ProductModel { public string ProductLine { get; set; } public string[] StrategyProducts { get; set; } }
IAppSetting类:
public interface ISingle { } public interface IScope { } public interface ITrans { } public interface IAppSetting : ITrans { }
appsettings.json文件:
{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "AllowedHosts": "*", "AppSettings": { "DemoDB": "Server=;Database=;Integrated Security=SSPI;", "OnePageReportCollectionSwitch": false, "OnePageReportCollectionFields": [ "Rule_final_weight", "scoreafautofin", "scoreautofin", "scoreautosec", "scoreautocom", "scoreautolea" ], "DemogModelCodes": [ { "ProductLine": "BackupLine", "StrategyProducts": [ "STR_BR0003543" ] } ] }, "WebProxy": { "Host": "", "User": "", "Password": "" } }
标签:Core,set,配置文件,get,单元测试,var,new,config,public From: https://www.cnblogs.com/hofmann/p/17865021.html