0

我正在使用存储库和工作单元进行 EF,并且我的控制器具有Unit of Work我在构造函数中实例化的接口。

使用存储库时模拟有点容易,但我真的不知道如何在测试类中模拟 UoW 接口。我正在使用JustMock Light嘲笑,请指导我怎么做?

谢谢

4

1 回答 1

2

UoW 中存在链式依赖关系。UoW 依赖于 IGenericRepository 接口,IGenericRepository 依赖于 DBContext 对象,这里的问题实际上是如何模拟 DBContext 对象。这是一个很好的文档来解释它。点我

基本上,您需要做的是为 DbContext 创建一个接口,以使用接口方法实现和包装 DbContext 方法。然后你模拟你创建的接口并进行单元测试。在这里你有两个选择,1.配置模拟框架来伪造接口或 2.创建一个伪造的类来实现接口。我推荐选项 2,因为伪类是可重用的。

于 2014-05-21T01:58:20.180 回答