Невозможно перезаписать настройки приложения в WebApplicationFactory. ⇐ C#
Невозможно перезаписать настройки приложения в WebApplicationFactory.
Я пытаюсь настроить интеграционные тесты для своего .Net 6 Api, используя WebApplicationFactory, но независимо от того, что я делаю, он продолжает использовать значения из appsettings.Development.json >
Я пробовал много разных решений, но во время тестирования всегда использовалась строка подключения dev.
Program.cs
Программа общедоступного класса { Private static void Main(string[] args) { вар строитель = WebApplication.CreateBuilder(args); ... вар приложение = builder.Build(); ... приложение.Выполнить(); } } AppFactory.cs
публичный класс AppFactory: WebApplicationFactory { защищенное переопределение void ConfigurationWebHost (построитель IWebHostBuilder) { builder.ConfigureAppConfiguration((config, builder) => { var appSettings = новый список { new KeyValuePair("ConnectionStrings::DefaultConnection", "server=test"), новая KeyValuePair("ApiUrl", "https://somethingelse.com") }; строитель.Источники.Очистить(); builder.AddInMemoryCollection(appSettings); }); } } ApiTests.cs
[ТестКласс] публичный класс ApiTests { [Метод испытания] общедоступный асинхронный тест задачи() { вар приложение = новый AppFactory(); используя var client = application.CreateClient(); var content = JsonContent.Create(новый LoginRequest { Имя пользователя = "myusername@test.com", Пароль = "мойпароль123" }); вар ответ = ждут client.PostAsync("/login", content); } }
Я пытаюсь настроить интеграционные тесты для своего .Net 6 Api, используя WebApplicationFactory, но независимо от того, что я делаю, он продолжает использовать значения из appsettings.Development.json >
Я пробовал много разных решений, но во время тестирования всегда использовалась строка подключения dev.
Program.cs
Программа общедоступного класса { Private static void Main(string[] args) { вар строитель = WebApplication.CreateBuilder(args); ... вар приложение = builder.Build(); ... приложение.Выполнить(); } } AppFactory.cs
публичный класс AppFactory: WebApplicationFactory { защищенное переопределение void ConfigurationWebHost (построитель IWebHostBuilder) { builder.ConfigureAppConfiguration((config, builder) => { var appSettings = новый список { new KeyValuePair("ConnectionStrings::DefaultConnection", "server=test"), новая KeyValuePair("ApiUrl", "https://somethingelse.com") }; строитель.Источники.Очистить(); builder.AddInMemoryCollection(appSettings); }); } } ApiTests.cs
[ТестКласс] публичный класс ApiTests { [Метод испытания] общедоступный асинхронный тест задачи() { вар приложение = новый AppFactory(); используя var client = application.CreateClient(); var content = JsonContent.Create(новый LoginRequest { Имя пользователя = "myusername@test.com", Пароль = "мойпароль123" }); вар ответ = ждут client.PostAsync("/login", content); } }
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как изменить строку подключения WebApplicationFactory во время интеграционного тестирования?
Anonymous » » в форуме C# - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как использовать WebApplicationFactory с тестовыми контейнерами для тестов SpecFlow?
Anonymous » » в форуме C# - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-