Использование Testcontainers.MsSql.MsSqlBuilder и создание базы данных для интеграционных тестов .NET Core/C#.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Использование Testcontainers.MsSql.MsSqlBuilder и создание базы данных для интеграционных тестов .NET Core/C#.

Сообщение Anonymous »

Я пытаюсь использовать Testcontainers для выполнения интеграционных тестов моего веб-API .NET Core 7, в котором есть хранилище данных SQL Server. Я могу создать контейнер, но не знаю, где и когда создавать базу данных/схему.
Я прочитал код MsSqlBuilder и не понимаю, как мне его настроить. контейнер/база данных SQL Server после запуска.
У меня есть контейнер, который успешно создается/уничтожается, но я не знаю, как использовать этот класс для настройки имени базы данных и запуска сценариев схемы. или сценарии раздачи. Насколько мне известно, следующее создает контейнер правильно:

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

public class DataLockerApiFactory: WebApplicationFactory, IAsyncLifetime
{
private readonly MsSqlContainer msSqlContainer
= new MsSqlBuilder().Build();

public Task InitializeAsync()
{
return msSqlContainer.StartAsync();
}

public new Task DisposeAsync()
{
return msSqlContainer.DisposeAsync().AsTask();
}
}
Я предполагаю, что буду запускать сценарии в InitializeAsync. Другие примеры, которые я нашел в Интернете, похоже, используют классы Testcontainers нижнего уровня для создания и настройки контейнеров, и, возможно, это требование?
Или, может быть, я просто создаю IDbConnection< /code> в InitializeAsync и запускать там команды для создания базы данных? Если это желаемый шаблон, когда я использую команду T-SQL, например CREATE DATABASE [DBNAME], и указываю FILENAME, файлы находятся внутри контейнера или в моей локальной файловой системе? А может быть, мне даже не следует создавать базу данных с моим «обычным именем», а вместо этого просто использовать базу данных master и добавлять к ней таблицы, представления, хранимые процедуры и т. д.?
Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/775 ... core-c-int
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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