繁体   English   中英

如何使用Microsoft Fakes来填充DbContext?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM