3

我们有一个巨大的应用程序,其中包含

  • Web 层 - MVC
  • 服务层 - Web API
  • 领域层
  • 数据库层 - EF 5 代码优先

我们编写了数百个单元测试以避免进一步的问题。现在我们要针对数据库编写集成测试。

到目前为止,我们一直在使用 xUnit 进行单元测试。但我不确定我们如何才能继续前进,我有一些问题。

  1. 您是否建议编写一种“从上到下”集成测试的方法。因此,编写一个使用 MVC 操作的测试方法,该操作遍历所有层并影响数据库或拆分为 Web - API、API - DB 等部分?
  2. 我搜索了有关 Fixtures 的 xUnit,但找不到针对 Entity Framework 使用 IUseFixture 的示例。
  3. 我们正在使用 Code First 迁移,所以我认为初始化数据库会很容易,因为所有迁移文件都在我们手中。但是我如何使用它们来创建测试数据库?
  4. 我们的团队由多个开发人员组成,因此隔离他们每个人都很重要。我可以为此使用开发数据库服务器或本地数据库,但我再次找不到根据用户更改连接字符串的方法。

不是现在,而是在不久的将来,我们将使用 TFS 2012 构建运行这些测试。

4

1 回答 1

1

你应该试试努力

http://efort.codeplex.com/

它通过在创建 DbContext 时提供特殊连接来为实体框架提供内存数据库。

它还可以使用 CSV 文件中的数据填充数据库。

于 2013-10-27T14:07:57.697 回答