У мене є об’єкт, над яким я намагаюся знущатися, використовуючи moq. Конструктор об'єкта має необхідні параметри:
public class CustomerSyncEngine {
public CustomerSyncEngine(ILoggingProvider loggingProvider,
ICrmProvider crmProvider,
ICacheProvider cacheProvider) { ... }
}
Зараз я намагаюся створити макет для цього об'єкта, використовуючи або синтаксис v3 "налаштування" moq, або синтаксис 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);