ฉันมีวัตถุที่พยายามจะล้อเลียนโดยใช้ moq ตัวสร้างของวัตถุมีพารามิเตอร์ที่ต้องการ:
public class CustomerSyncEngine {
public CustomerSyncEngine(ILoggingProvider loggingProvider,
ICrmProvider crmProvider,
ICacheProvider cacheProvider) { ... }
}
ตอนนี้ฉันกำลังพยายามสร้างการจำลองสำหรับวัตถุนี้โดยใช้ไวยากรณ์ v3 "setup" ของ 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);