.Net Core 单元测试获取配置文件节点值
单元测试类:
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": "" } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
2021-11-29 内网搭建代理DNS使用内网域名代替ip地址