Я новичок в XUnit и пытаюсь настроить свой тестовый проект с новыми настройками приложений и сервисом. Служба принимает класс appsettings в конструкторе.
В моем файле запуска из моего проекта API у меня есть следующее:
services.Configure<AppSettings>(_configuration.GetSection("AppSettings"));
var appSettings = _configuration.GetSection(nameof(AppSettings)).Get<AppSettings>();
services.AddScoped<ILogging, MailLogging>(s => new MailLogging(appSettings));
Это работает для моего API, но теперь я хочу использовать его в своем проекте XUnit (но с другим файл appsettings)
var appsettings = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json")
.Build()
.GetSection("AppSettings");
builder.ConfigureTestServices(services =>
services.Configure<AppSettings>(appsettings)
);
Это работает, но когда я пытаюсь реализовать новый MailLogging, я получаю исключения NullException при использовании данных из AppSettings в сервисе. (обе строки в комментарии не работают)
builder.ConfigureTestServices(services =>
//services.AddScoped<ILogging, MailLogging>(s => new MailLogging(appsettings as AppSettings))
//services.Replace(ServiceDescriptor.Scoped<ILogging, MailLogging>(s => new MailLogging(appsettings as AppSettings)))
);
Может ли кто-нибудь указать мне правильное направление?