Невозможно пройти конфигурацию при тестировании интеграции в ядро ​​ASP.NET, AddInMemoryCollection () не работаетC#

Место общения программистов C#
Anonymous
Невозможно пройти конфигурацию при тестировании интеграции в ядро ​​ASP.NET, AddInMemoryCollection () не работает

Сообщение Anonymous »

У меня есть этот код в моем интеграционном тесте: < /p>

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

public AuthControllerTests(
WebApplicationFactory factory,
AuthPgsqlContainerFixture authPgsqlContainerFixture,
MaterialsPgsqlContainerFixture materialsPgsqlContainerFixture
)
{
_authDbFixture = authPgsqlContainerFixture;
_materialsDbFixture = materialsPgsqlContainerFixture;

var customFactory = factory.WithWebHostBuilder(builder =>
{
builder.UseEnvironment("Development");

builder.ConfigureAppConfiguration((context, config) =>
{
var overrides = new Dictionary
{
{ "ConnectionStrings:AuthConnection", _authDbFixture.ConnectionString },
{ "ConnectionStrings:MaterialsConnection", _materialsDbFixture.ConnectionString }
};

//config.AddInMemoryCollection(overrides); // this did not work so I tried the below line, but that didn't work either
config = config.AddInMemoryCollection(overrides);
});
});

_client = customFactory.CreateClient();
}
< /code>
Приспособления от TestContainers. Я пытаюсь передать строки соединения из моих тестовых контейнеров для тестов.
В моей программе.var builder = WebApplication.CreateBuilder(args);
var connstring = builder.Configuration.GetConnectionString("AuthConnection");
Это все еще получает строки подключения от Appsettings.development.json , а не те, которые возвращаются из приспособлений. Что я делаю не так? Однако после удаления значений из json, getConnectionString () возвращает NULL, доказывая, что AddInMemoryCollection () ничего не делает.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... dinmemoryc

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