[英]How to Shim DbContext with Microsoft Fakes?
我正在创建一个调用创建任务方法的单元测试。 create task方法调用一些模拟的外部对象,这是我测试的目的,但在我测试的方法中,还有一个SaveChanges
调用来保存我的任务。 我想要做的是在System.Data.Entity
填充DbContext
类,以便SaveChanges
方法不再访问数据库。
我为System.Data.Entity
添加了一个假装配,但是当我使用System.Data.Entity
时。它说“无法解析符号'Fakes'”,虽然我可以访问System.Data.Fakes
(但我没有添加) System.Data的假装配)
我在我的实体上下文中伪造了其他方法,但我不能在我的实体上伪造SaveChanges方法,因为该方法是从DbContext继承的。
ShimDBEntities.AllInstances.SaveChanges = (x) => { ... };
上面的代码块说“无法解析符号'SaveChanges'”。
那么如何使用Microsoft Fakes来填充DbContext呢?
我已经设法通过在我的BaseRepository
类中创建一个SaveChanges
方法来实现它,并在我拥有db.SaveChanges
所有派生存储库中使用它。
然后我给我的BaseRepository
打了BaseRepository
以便我的SaveChanges
方法什么都不做
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.