Тестирование интеграции SpecFlow с шаблонами базы данных

Я пытаюсь настроить SpecFlow для интеграции / приемочного тестирования. У нашего продукта есть база данных (хотя и не огромная) в Sqlite.

Это на самом деле оказывается немного липкой точкой; как мне смоделировать базу данных для тестов?

Я хотел бы знать, какие шаблоны используют другие для проведения интеграционных / приемочных испытаний с резервными базами данных.

Я могу думать о следующих подходах:

Скомпилируйте базу данных в сборку с тестами, затем выполните теневое копирование для каждого теста. Кажется, медленно.Я мог бы создать базу данных в памяти и заполнить ее заранее определенными данными.Я мог бы создать базу данных в памяти и каким-то образом заставить Гивенса заполнить базу данных. Кажется, что это ужасно раздувает тесты, но может дать им больший контроль и сделать тесты менее хрупкими.Я мог бы абстрагировать каждое взаимодействие с базой данных и использовать макеты. Не влюблен в эту идею, так как яЯ хотел бы использовать это для проверки взаимодействия с базой данных.Скомпилируйте базу данных в тесты и положитесь на код очистки, чтобы вернуть ее в базовое состояние (этот мне кажется хитрым). Дон»Я не хочу делать это с транзакциями, так как с некоторыми тестами будет несколько взаимодействий (поэтому напишите элемент, а затем попытайтесь прочитать его обратно с другими привилегиями).

Ответы на вопрос(1)

Ваш ответ на вопрос