我正在使用存储库和工作单元进行 EF,并且我的控制器具有Unit of Work
我在构造函数中实例化的接口。
使用存储库时模拟有点容易,但我真的不知道如何在测试类中模拟 UoW 接口。我正在使用JustMock Light
嘲笑,请指导我怎么做?
谢谢
我正在使用存储库和工作单元进行 EF,并且我的控制器具有Unit of Work
我在构造函数中实例化的接口。
使用存储库时模拟有点容易,但我真的不知道如何在测试类中模拟 UoW 接口。我正在使用JustMock Light
嘲笑,请指导我怎么做?
谢谢
UoW 中存在链式依赖关系。UoW 依赖于 IGenericRepository 接口,IGenericRepository 依赖于 DBContext 对象,这里的问题实际上是如何模拟 DBContext 对象。这是一个很好的文档来解释它。点我
基本上,您需要做的是为 DbContext 创建一个接口,以使用接口方法实现和包装 DbContext 方法。然后你模拟你创建的接口并进行单元测试。在这里你有两个选择,1.配置模拟框架来伪造接口或 2.创建一个伪造的类来实现接口。我推荐选项 2,因为伪类是可重用的。