Tôi có một đối tượng mà tôi đang cố gắng chế nhạo bằng cách sử dụng moq. Hàm tạo của đối tượng có các tham số bắt buộc:
public class CustomerSyncEngine {
public CustomerSyncEngine(ILoggingProvider loggingProvider,
ICrmProvider crmProvider,
ICacheProvider cacheProvider) { ... }
}
Bây giờ tôi đang cố gắng tạo mô hình cho đối tượng này bằng cách sử dụng cú pháp v3 "setup" hoặc v4 "Mock.Of" của moq nhưng không thể tìm ra điều này ... mọi thứ tôi đang thử đều không xác thực. Đây là những gì tôi có cho đến nay, nhưng dòng cuối cùng là cung cấp cho tôi một đối tượng thực sự, không phải mô phỏng. Lý do tôi làm điều này là vì tôi có các phương thức trên CustomerSyncEngine mà tôi muốn xác minh đang được gọi ...
// 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);