我已经在本文中用EF4中的POCO伪造了对象上下文和IObjectSet来实现单元测试。实体框架4.0单元测试
但我不能确定如何实现对测试我的假对象上下文几个方法。我在我的对象上下文接口上有CreateQuery和ExecuteFunction方法,这样我就可以执行ESQL和存储过程,但我不能(很容易)在我的假对象上下文中实现它们。
另一种方法是使用我的仓库,而不是我的对象上下文的双重考验兼作这里建议:
http://social.msdn.microsoft.com/Forums/en-US/adonetefx/thread/c4921443-e8a3-4414-92dd-eba1480a07ad/
但是,这将意味着我的真实资料库心不是正在测试,似乎只是绕过这个问题。
谁能提供任何建议?
伟大的答案IMO – 2010-10-21 11:17:55
伟大的答案确实如此。你知道任何有效的方法来测试存储库吗?理想情况下,我会为此使用内存数据库,除非EF4在没有重大修改的情况下无法使用。 – 2010-12-08 22:49:22
我不知道EF4(我已经或多或少地放弃了EF),但在以前的版本中,没有任何接口能以任何简单的方式启用内存数据库。从理论上讲,由于EF基于可扩展的提供者模型,因此如果可以找到提供者,则可以将内存中的数据库用作底层数据库,但我不知道其中的任何提供者。然后,我再也没有看很久...... – 2010-12-09 04:27:04