小编Rzv*_*.im的帖子

如何使用Microsoft Fakes来填充DbContext?

我正在创建一个调用创建任务方法的单元测试.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) => { ... };   
Run Code Online (Sandbox Code Playgroud)

上面的代码块说"无法解析符号'SaveChanges'".

那么如何使用Microsoft Fakes来填充DbContext呢?

c# testing entity-framework mocking

5
推荐指数
1
解决办法
2997
查看次数

标签 统计

c# ×1

entity-framework ×1

mocking ×1

testing ×1