2011-01-19 25 views
0

这是另一个问题Entity Framework 4 CTP 4/CTP 5 Generic Repository Pattern and Unit Testable10的第二部分,其中我问如何使用EF 4 POCO实现通用存储库模式。现在我的知识库正在工作,我想知道如何对我的知识库(TDD或BDD)进行单元测试。实体框架4 CTP 5 POCO - 如何单元测试我的知识库<T>

谢谢大家。

+0

我用XUnit测试并使用AutoRollback功能。我不知道NUnit是否具备此功能,但您可以通过Google进行搜索。这样,您可以对您的仓库进行集成测试,这会改变您的数据库,然后回滚更改。 – Paul 2011-01-25 00:57:34

+0

谢谢Paul,我会检查NUnit是否具有该功能。 – Saxman 2011-01-25 15:51:44

回答

0

嘿,我写了一些关于使用SpecFlow做这件事的博文。但当它变得复杂时,这是一场灾难。

我试图实现一个测试存储库,这也是一场灾难。试图复制数据环境如何工作并不是一个聪明的想法。

但是,你从错误中学习,并一路上玩得开心。我学到的是使用轻量级或内存数据库(SQLite)。

所以我肯定会说使用SQLite数据库,如果你能使它与EF Code First一起工作。我无法做到这一点,所以我使用了SQL CE精简版。它运行得非常快,即使在测试中。

你可能知道所有关于这个博客帖子,但重新检查步骤4 http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx

所以在本质上,所有我在我最近的项目确实是有用于测试一个单独的数据库SQL CE 4.0精简版。超级快速,没有投诉。