Tôi có một thư viện COM mà tôi phải tham chiếu trong ứng dụng của mình và tôi đang cố gắng giả lập giao diện của nó.Mocking COM Giao diện bằng cách sử dụng Rhino Mocks
Tôi nhận được trường hợp ngoại lệ khi tôi đang làm điều này MockRepository.GenerateMock<IAmAComInterface>();
Tôi không nhận được trường hợp ngoại lệ khi tôi làm điều này: MockRepository.GenerateDynamicMockWithRemoting<IAmAComInterface>();
nhưng không ai trong số mong đợi của tôi đang xác minh.
Tôi có làm gì sai không?
Hiện tại, tôi có một loạt các trình bao bọc cho tất cả các giao diện COM của mình và tôi đang chế nhạo chúng, nhưng tôi thực sự không muốn bao bọc mọi thứ.
EDIT:
Exceptions với GenerateMock: System.TypeLoadException
Với thông điệp của:
The type is marked as eligible for type equivalence, but either it has generic parameters, or it is not a structure, COM imported interface, enumeration, or delegate.
Khi sử dụng thử nghiệm thất bại GenerateDynamicMockWithRemoting luôn nói rằng dự kiến: 1 Thực tế: 0 đối với bất kỳ sự mong đợi trên COM giao diện.
Sử dụng Rhino.Mocks 3.6.
Những trường hợp ngoại lệ? –
@Wim Coenen Đã chỉnh sửa bao gồm các trường hợp ngoại lệ và các chi tiết khác. – Adam
Các giao diện COM này có được tạo bằng .NET và được thiết kế để xuất sang COM không? Hoặc là họ COM đối tượng với các thư viện kiểu .NET được tạo ra (thông qua tlbimp)? – PatrickSteele