using OptionStudy.UnitApp.Next; namespace OptionStudy.Next { /// <summary> /// 内存 配置源 /// </summary> public class MemoryConfigurationSourceTest : IDisposable { private readonly ITestOutputHelper testOutput; public MemoryConfigurationSourceTest(ITestOutputHelper testOutputHelper) { this.testOutput = testOutputHelper; } /// <summary> /// 使用内存配置源 /// </summary> [Fact] public void Use_Test() { IDictionary<string, string?> memoryData = new Dictionary<string, string?>() { ["AppName"] = "MemoryAppName", ["AppVersion"] = "0.0.0.1", ["EMail:ReceiveAddress"] = "memory@163.com", ["EMail:Recipient"] = "memory", }; var root = new ConfigurationBuilder().AddInMemoryCollection(memoryData).Build(); var configOption = root.Get<AppOption>(); //MemoryConfigurationProvider 可以执行添加、设置等操作 var provider = root.Providers.First() as MemoryConfigurationProvider; provider?.Add("MyAdd", "MyValue"); provider?.Set("AppVersion", "2.0.0.0"); Assert.NotNull(configOption); Assert.Equal("memory", configOption.EMail?.Recipient); testOutput.WriteLine("使用 内存配置源!"); } public void Dispose() { } } }