Как я могу провести модульное тестирование миграций FluentMigrator? - PullRequest
5 голосов
/ 01 сентября 2011

Общий совет: я всегда должен проверять миграцию базы данных, но как это сделать, похоже, хорошо держится в секрете;)

Моя выбранная среда - FluentMigration.

Что я думаюЯ хочу сделать это:

  1. Перенос базы данных в N-1.
  2. Сохранение некоторых данных.
  3. Перенос базы данных в N.
  4. Чтениеданные и убедитесь, что они не потеряны.
  5. Проверьте другие соответствующие изменения

Но я не могу понять, как запустить миграцию из моих модульных тестов.

1 Ответ

2 голосов
/ 02 сентября 2011

Чтобы запустить миграцию в интеграционных тестах, просто выполните команду migrate.exe, используя Process.Start

Например

var migrator = System.Diagnostics.Process.Start("migrator.exe", "/connection \"Data Source=db\\db.sqlite;Version=3;\" /db sqlite /target your.migrations.dll");
migrator.WaitForExit();

Если вы используете MSTest, вам нужно убедиться, что migrator.exe включен в качестве элемента развертывания, или что вы указываете путь к файлу .exe при запуске процесса.

...