回答

4

我不确定使用LocalDB是否能解决您的问题。要使用LocalDB,LocalDB仍然必须安装在运行单元测试的机器上,AppHarbor可能不是这种情况。 (使用文件在单元测试目录使用SQL Server CE)

  1. Integration Testing Entity Framework code first with in-memory database
  2. Effort(让你在内存中创建架构和运行单元测试的不沾文件系统:

    考虑这些资源的替代品 - 可能更好)

+0

我能得到的。自卫队的工作(部分)在单元测试场景。现在的问题是.sdf不允许创建存储过程,所以我只能部分地测试数据库。 – tafaju

+0

您应该将存储过程中的任何逻辑移动到您的应用程序代码中,以使其更具可移植性。您还应该考虑在单元测试中嘲笑数据库,以便您的单元测试不必触碰文件系统。这听起来像你在做什么比单元测试更类似于集成测试。 – friism

+0

是的你是正确的这些更多的是集成测试的精神,但不幸的是,考虑到连续部署单元(“集成”)测试是唯一的门卫。从数据库到应用程序层的逻辑移动似乎不是一个好主意,因为现有的主要原因是基于集合的过滤。每个请求传输不必要的数据似乎比解决可移植性问题更昂贵。 – tafaju