单元测试DbContext

单元测试DbContext

我研究了一些关于我可以用来对DbContext进行单元测试的技术的信息。我想在上下文中添加一些内存数据,以便我的测试可以针对它运行。我正在使用Database-First方法。

我发现最有用的两篇文章是这个这个。该方法依赖于创建一个MyContext和FakeContext都将实现的IContext接口,允许模拟上下文。

但是,正如某些人所指出 的 那样,我试图避免使用存储库来抽象EF,因为EF 4.1已经通过DbSet和DbContext实现了存储库和工作单元模式,我真的想保留EF实现的所有功能。团队无需使用通用存储库维护它们,正如我在其他项目中所做的那样(这有点痛苦)。

使用IContext会引导我走同一条路(或者不是吗?)。

我考虑创建一个继承自主MyContext的FakeContext,从而利用它下面的DbContext运行我的测试而不需要访问数据库。我找不到类似的实现,所以我希望有人可以帮助我。

我做错了什么,或者这会导致我遇到一些我没想到的问题?


慕尼黑5688855
浏览 599回答 3
3回答

一只甜甜圈

从EF 4.3开始,您可以在创建上下文之前通过注入假来对代码进行单元测试DefaultConnectionFactory。
打开App,查看更多内容
随时随地看视频慕课网APP