编写实体框架的集成测试

时间:2013-04-17 09:52:17

标签: asp.net .net entity-framework-5 integration-testing xunit

我们有一个包含

的庞大应用程序
  • 网络层 - MVC
  • 服务层 - Web API
  • 域层
  • DB Layer - EF 5 Code First
我们编写了单元测试的数字,以避免进一步的问题。现在我们要编写针对数据库的集成测试。

到目前为止,我们一直在使用xUnit进行单元测试。 但我无法确定我们怎么能前进,我有一些问题。

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

1 个答案:

答案 0 :(得分:1)

你应该尝试努力

http://effort.codeplex.com/

它通过在创建DbContext时提供特殊连接为Entity Framework提供内存数据库。

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