using AxiOmron.PcbCheck.Options; using AxiOmron.PcbCheck.Services.Implementations; using Xunit; namespace AxiOmron.PcbCheck.Tests; /// /// 验证应用配置文件读写行为。 /// public sealed class AppConfigServiceTests { /// /// 配置文件使用字符串保存文件校验通道时,应能还原为枚举值。 /// [Fact] public void Load_ShouldDeserializeFileCheckProvider_WhenProviderIsString() { var service = new AppConfigService(); string configPath = service.GetConfigPath(); string? originalJson = File.Exists(configPath) ? File.ReadAllText(configPath) : null; try { File.WriteAllText(configPath, """ { "FileCheck": { "Provider": "Sftp" } } """); AppConfig config = service.Load(); Assert.Equal(FileCheckProvider.Sftp, config.FileCheck.Provider); } finally { if (originalJson is null) { File.Delete(configPath); } else { File.WriteAllText(configPath, originalJson); } } } }