В настоящее время я работаю над довольно простой тестовой библиотекой.Решение также содержит ASP.NET Core Webhost, который обрабатывает простые операции CRUD.Я хочу выполнить модульное тестирование этого приложения ASP.NET Core без необходимости запуска обоих проектов, поэтому я создаю новый WebHostBuilder внутри моей тестовой библиотеки NUNit.
[OneTimeSetUp]
public void SetupHost()
{
var webhostBuilder = new WebHostBuilder()
.UseKestrel()
.UseIISIntegration()
.UseContentRoot("root")
.UseStartup(typeof(Startup))
.ConfigureAppConfiguration((builderContext, config) =>
{
config.AddJsonFile("config1", false);
config.AddJsonFile("config2", false);
});
webhostBuilder
.Build()
.Run();
}
Проблема в том, что SetupHost()
никогдазаканчивается, потому что Run()
блокирует поток до тех пор, пока хост не завершит работу.
Как я могу запустить новый веб-хост, а после того, как он успешно запустится, запустить мои модульные тесты?