测试使用DbContext的存储库的最佳方法

时间:2011-12-24 09:00:28

标签: asp.net-mvc entity-framework unit-testing mocking dbcontext

在我的项目中,我遵循存储库模式,以便轻松地对我的ASP.NET MVC应用进行单元测试。这使我可以轻松地模拟对象。

但是,我并没有以这种方式测试存储库逻辑。

例如,请参阅以下博文:

How to Work With Generic Repositories on ASP.NET MVC and Unit Testing Them By Mocking

这就是我的工作以及我如何测试我的ASP.NET MVC应用程序。

您认为使用DbContext类来测试存储库以获取数据的最佳方法是什么?

  • 直接从数据库获取数据? (我认为这将是最糟糕的,但我想知道你的感觉)
  • 我应该创建一个伪数据库并用虚拟数据填充它并指向EF以连接该数据库吗?

您可能会提出任何其他方法。

修改

我在这里使用EF 4.2。

1 个答案:

答案 0 :(得分:7)

存储库是数据库的入口点,因此测试它的唯一方法是使用集成测试并在测试数据库上工作。您可以使用事务测试,其中每个测试将在测试结束时设置事务和回滚,以使所有测试的测试数据保持相同。

相关问题