我正在创建一个调用创建任务方法的单元测试。create task 方法调用了一些模拟的外部对象,这是我测试的目的,但在我测试的方法中,还有一个SaveChanges
调用可以保存我的任务。我想要做的是填充DbContext
里面的类,System.Data.Entity
以便该SaveChanges
方法不再访问数据库。
我添加了一个假程序集,System.Data.Entity
但是当我使用System.Data.Entity
.Fakes 时,它说“无法解析符号'Fakes'”,尽管我可以访问System.Data.Fakes
(但我没有为 System.Data 添加假程序集)
我在我的实体上下文中伪造了其他方法,但我不能在我的实体上伪造 SaveChanges 方法,因为该方法是从 DbContext 继承的。
ShimDBEntities.AllInstances.SaveChanges = (x) => { ... };
上面的代码块说“无法解析符号'SaveChanges'”。
那么如何使用 Microsoft Fakes 填充 DbContext 呢?