entity-framework - EF4 - 可以模拟 ObjectContext 进行单元测试吗?

标签 entity-framework mocking typemock objectcontext

不使用 TypeMock Islolator 可以吗?我在网上找到了一些建议,例如传入仅元数据的连接字符串,但是除了 TypeMock 之外我遇到的任何东西似乎都没有真正允许可以注入(inject)服务以进行单元测试的模拟 ObjectContext。我应该为 TypeMock 支付 $$,还是有其他选择?没有人设法创建任何与 TypeMock 类似的开源软件吗?

最佳答案

我在没有模拟的情况下轻松地对 EF4 进行单元测试。我所做的是使用 http://elegantcode.com/2009/12/15/entity-framework-ef4-generic-repository-and-unit-of-work-prototype/ 中的代码创建一个存储库接口(interface)。作为基础,我创建了一个 InMemoryRepository<T>使用 IRepository 的类界面。然后我替换了 IObjectSet<T>List<T>在类内部并相应地更改了检索方法。

因此,如果您需要进行单元测试,请传入 InMemoryRepository 而不是 DataRepository。

关于entity-framework - EF4 - 可以模拟 ObjectContext 进行单元测试吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2703100/

相关文章:

c# - Typemock 假集合处理

Python模拟elasticsearch连接生成器 `with`语句

linq - 如何使用 LINQ/EF 中的有序查询从我的存储库中返回 IList

c# - IQueryable 与 AlphaNumeric 排序

c# - 使用枚举和 Entity Framework 脚手架从模型创建下拉列表?

python - 模拟在 Python 单元测试中没有被击中

c# - 为什么 Fakes 不能从预建的 Fakes 项目中正确引用 Fakes dll?

.net - JustMock vs. TypeMock vs. 其他

c# - 如何 mock 一切?

c# - 在 Entity Framework 中将 tinyint 字段表示为枚举