相关疑难解决方法(0)

当构造函数具有参数时,使用Moq模拟对象

我有一个对象,我正在尝试使用moq进行模拟.对象的构造函数具有必需参数:

public class CustomerSyncEngine {
    public CustomerSyncEngine(ILoggingProvider loggingProvider, 
                              ICrmProvider crmProvider, 
                              ICacheProvider cacheProvider) { ... }
}
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试使用moq的v3"setup"或v4"Mock.Of"语法为这个对象创建模拟但是无法解决这个...我正在尝试的一切都没有验证.这是我到目前为止所拥有的,但最后一行是给我一个真实的对象,而不是模拟.我这样做的原因是因为我想要验证的CustomerSyncEngine上有方法被调用...

// setup
var mockCrm = Mock.Of<ICrmProvider>(x => x.GetPickLists() == crmPickLists);
var mockCache = Mock.Of<ICacheProvider>(x => x.GetPickLists() == cachePickLists);
var mockLogger = Mock.Of<ILoggingProvider>();

// need to mock the following, not create a real class like this...
var syncEngine = new CustomerSyncEngine(mockLogger, mockCrm, mockCache);
Run Code Online (Sandbox Code Playgroud)

moq

82
推荐指数
2
解决办法
7万
查看次数

标签 统计

moq ×1