我找到的两篇最有用的文章是 this 和 this。这种方法依赖于创建一个 IContext 接口,MyContext 和 FakeContext 都将实现它,从而允许 Mock 上下文。
然而,我正在尝试避免使用仓库来抽象 EF,因为 pointed by some 人指出,自 EF 4.1 以来,已经通过 DbSet 和 DbContext 实现了仓库和工作单元模式,我真的很想保留由 EF 团队实现的所有功能,而不必使用通用仓库自己维护它们,就像我在其他项目中做过的那样(那真的很痛苦)。
我使用IContext会走相同的路线(是这样吗?)。
我考虑创建一个继承自主要MyContext的FakeContext,从而利用其下面的DbContext在不访问数据库的情况下运行我的测试。 我找不到类似的实现,所以希望有人能帮助我。
我做错了什么,或者这可能会导致我没有预料到的问题吗?