0

我即将在 MVC .NET 中执行数据库迁移。我想知道如何对此进行单元测试。

例如,我想在这个问题中应用迁移:Rename a db column。我怎么能对此进行单元测试?


我的想法:

  1. 迁移所有现有迁移,除了我要测试的最新迁移
  2. 将数据添加到上下文
  3. 应用新迁移
  4. 测试数据还在

如果我的想法有意义,知道如何将这些应用到 MVC .NET 中吗?谢谢!

4

1 回答 1

2

用于集成测试。只是我粗略的想法。可能取决于您的环境 - 构建服务器、数据库服务器、部署制作,...

您必须始终与数据库具有相同(已知)的起点。您将手动创建它并将其提交到 VCS 并始终手动更新为M-1 ( M=migration)。或者只是假设所有迁移M-1 之前都工作过(因为它已经过测试)并使用 ie 自动创建它migrate.exe。然后您尝试执行您的步骤,然后测试,最好使用与 EF 不同的“通道”,数据在那里,列在那里等。在这里,通过良好的旧 ADO.NET 的纯 SQL 就足够了。因为它不需要多才多艺,您可以创建一些简单的帮助程序,这些帮助程序将使用众所周知的 Connection-Command-Reader 路径运行查询并将其作为原始数据返回,即简单IEnumerable(我自己做了,通过dynamic使超级简单。)。

我的建议是保持简单,不要花哨和聪明。只是为了支持测试。

于 2012-08-11T12:34:25.963 回答