Tengo un objeto que estoy tratando de simular usando moq. El constructor del objeto tiene parámetros obligatorios:
public class CustomerSyncEngine {
public CustomerSyncEngine(ILoggingProvider loggingProvider,
ICrmProvider crmProvider,
ICacheProvider cacheProvider) { ... }
}
Ahora estoy tratando de crear el simulacro para este objeto usando la sintaxis de moq v3 "setup" o v4 "Mock.Of" pero no puedo resolver esto ... todo lo que estoy intentando no está validando. Esto es lo que tengo hasta ahora, pero la última línea me da un objeto real, no la simulación. La razón por la que hago esto es porque tengo métodos en CustomerSyncEngine que quiero verificar que se están llamando ...
// 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);