我们有一个巨大的应用程序,其中包含
- Web 层 - MVC
- 服务层 - Web API
- 领域层
- 数据库层 - EF 5 代码优先
我们编写了数百个单元测试以避免进一步的问题。现在我们要针对数据库编写集成测试。
到目前为止,我们一直在使用 xUnit 进行单元测试。但我不确定我们如何才能继续前进,我有一些问题。
- 您是否建议编写一种“从上到下”集成测试的方法。因此,编写一个使用 MVC 操作的测试方法,该操作遍历所有层并影响数据库或拆分为 Web - API、API - DB 等部分?
- 我搜索了有关 Fixtures 的 xUnit,但找不到针对 Entity Framework 使用 IUseFixture 的示例。
- 我们正在使用 Code First 迁移,所以我认为初始化数据库会很容易,因为所有迁移文件都在我们手中。但是我如何使用它们来创建测试数据库?
- 我们的团队由多个开发人员组成,因此隔离他们每个人都很重要。我可以为此使用开发数据库服务器或本地数据库,但我再次找不到根据用户更改连接字符串的方法。
不是现在,而是在不久的将来,我们将使用 TFS 2012 构建运行这些测试。