Перенос класса WebApplicationFactory из .NET Core 3.0 в .NET 8.0.C#

Место общения программистов C#
Ответить
Anonymous
 Перенос класса WebApplicationFactory из .NET Core 3.0 в .NET 8.0.

Сообщение Anonymous »

Мой текущий проект работает на .NET Core 3.0, и я хочу обновить его до .NET 8.0.
При обновлении проекта интеграционного тестирования класс WebApplicationFactory вызывает ошибки . Я перенес свой файл запуска в файл Program.cs.
Это мой код для класса WebApplicationFactory

Код: Выделить всё

public class ServiceWorkerFactory
: WebApplicationFactory where TProgram : class
{

protected override IHostBuilder CreateHostBuilder()
{
return Host.CreateDefaultBuilder().ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup();
}
)
.ConfigureAppConfiguration(
(
hostingContext,
config
) =>
{
config.AddInMemoryCollection(new[]
{
new KeyValuePair(
"ConnectionStrings:test",
DatabaseTestSetup.test
),

});
});
}

protected override void ConfigureWebHost
(
IWebHostBuilder builder
)
{

base.ConfigureWebHost(builder);

builder.ConfigureServices((context, services) =>
{
var sp = services.BuildServiceProvider();
//Need to pass the tenant id dynamically probably from appconfig

//Get the integration test application settings
var integrationTestAppSettings = context.Configuration.GetSection("IntegrationTest").Get();
if (integrationTestAppSettings != null)
{
services.AddSingleton(integrationTestAppSettings);
}
else
{
throw new System.Exception("Integration testing appsetting configuration not found !!");
}

var tc = new TaskContext() { TenantId = integrationTestAppSettings.TenantId };

builder.ConfigureTestServices(services =>
{
services.AddHangfire(options => options.UseMemoryStorage());
// Mock external dependency
services.SwapService(Substitute.For());

});
}
}
Я попытался удалить метод CreateHostBuilder и поместить этот код в метод ConfigureWebHost. Этот код будет работать, но он не будет учитывать мою конфигурацию памяти. Для этого потребуется моя конфигурация настроек приложения.
Пожалуйста, сообщите, если я сделал что-то не так.

Подробнее здесь: https://stackoverflow.com/questions/788 ... to-net-8-0
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»