如何对我的FluentMigrator迁移进行单元测试?

时间:2011-09-01 11:56:46

标签: unit-testing fluent-migrator

一般的建议是我应该总是测试我的数据库迁移,但是如何做到这似乎是一个保密的秘密;)

我选择的框架是FluentMigration。

我认为我想做的是:

  1. 将数据库迁移到N-1。
  2. 保存一些数据。
  3. 将数据库迁移到N。
  4. 读取数据并确认它没有丢失。
  5. 验证其他相关更改
  6. 但我无法弄清楚如何从我的单元测试中运行迁移。

1 个答案:

答案 0 :(得分:2)

要在集成测试中启动迁移,只需使用Process.Start

发送到migrate.exe命令

例如

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所在的路径。