Я делаю интеграционные тесты для моего основного проекта .net. Мне нужно получить доступ к строке подключения для моей базы данных интеграционных тестов.
Я использую базовый проект в качестве справочного и использую его файл запуска,Но я получаю эту ошибку
System.ArgumentNullException : Value cannot be null.
Parameter name: connectionString at Npgsql.EntityFrameworkCore.PostgreSQL.Utilities.Check.NotEmpty(String
value, String parameterName) in
/home/roji/projects/EFCore.PG/src/EFCore.PG/Utilities/Check.cs:line 99
at Microsoft.EntityFrameworkCore.NpgsqlDbContextOptionsExtensions.UseNpgsql(DbContextOptionsBuilder optionsBuilder, String connectionString, Action`1 npgsqlOptionsAction) in /home/roji/projects/EFCore.PG/src/EFCore.PG/Extensions/NpgsqlDbContextOptionsExtensions.cs:line 49
at SurveyAPI.Startup.<ConfigureServices>b__4_1(DbContextOptionsBuilder options)
Мой класс TestClientProvider
public class TestClientProvider
{
public HttpClient Client { get; private set; }
public TestClientProvider()
{
var server = new TestServer(new WebHostBuilder().UseStartup<Startup>());
Client = server.CreateClient();
}
}
класс теста
public class UnitTest1
{
[Fact]
public async Task Test_Get()
{
var client = new TestClientProvider().Client;
var response = await client.GetAsync("/api");
response.EnsureSuccessStatusCode();
Assert.Equal(HttpStatusCode.OK, response.StatusCode);
}
}
Как заставить тесты использовать мою текущую базу данных?