Saya memiliki objek yang saya coba tiru menggunakan moq. Konstruktor objek memiliki parameter yang diperlukan:
public class CustomerSyncEngine {
public CustomerSyncEngine(ILoggingProvider loggingProvider,
ICrmProvider crmProvider,
ICacheProvider cacheProvider) { ... }
}
Sekarang saya mencoba membuat tiruan untuk objek ini menggunakan sintaks "setup" moq v3 atau v4 "Mock.Of" tetapi tidak dapat menemukan jawabannya ... semua yang saya coba tidak memvalidasi. Inilah yang saya miliki sejauh ini, tetapi baris terakhir memberi saya objek nyata, bukan tiruan. Alasan saya melakukan ini adalah karena saya memiliki metode di CustomerSyncEngine yang ingin saya verifikasi dipanggil ...
// 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);