Я пытаюсь заполнить базу данных в моей функции SetUp моего Nunit-test-class.
В настоящее время база данных заполняется при выполнении ASP. NET Core Main-Method. Теперь я хочу передать этот процесс в свой тестовый класс, поскольку мне нужна только БД для моих тестов, и я хочу разрушить ее после выполнения всех тестов.
public class Program
{
public static void Main(string[] args)
{
var host = CreateWebHostBuilder(args).Build();
using (var scope = host.Services.CreateScope())
{
var services = scope.ServiceProvider;
try
{
DBInitialize.Initialize(services);
}
catch (Exception ex)
{
var logger = services.GetRequiredService<ILogger<Program>>();
logger.LogError(ex, "An error occurred seeding the DB.");
}
}
host.Run();
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>();
}
}
Но я не знаю, как выполнить метод DBInitialize.Initialze в моем SetUp-Method, поскольку мне нужно предоставить аргумент для метода, и я полностью застрял.
public class TestsDataRetrieve
{
[OneTimeSetUp] //OneTimeSetUp
public void Setup()
{
//execute Initialization
}
[Test] . . . some tests
}
Не могли бы вы дать мне подсказку или какой-нибудь учебник, который поможет?