Một trong những vấn đề lớn nhất hiện nay khiến tôi trở lại từ việc kiểm tra đơn vị hơi nước là phần lớn mã tôi viết phụ thuộc rất nhiều vào các đối tượng COM của bên thứ ba từ các nguồn khác nhau cũng có xu hướng tương tác với nhau. Tôi đang viết bổ trợ cho Microsoft Office bằng cách sử dụng một số thư viện trợ giúp nếu bạn cần biết).Làm thế nào để mã đơn vị kiểm tra tương tác với và khởi tạo các đối tượng COM của bên thứ ba?
Tôi biết tôi có lẽ nên sử dụng các đối tượng giả nhưng chính xác tôi sẽ đi về điều đó trong trường hợp này như thế nào? Tôi có thể thấy rằng nó tương đối dễ dàng khi tôi phải chuyển một tham chiếu đến một đối tượng đã tồn tại nhưng một số thói quen của tôi tự khởi tạo các đối tượng COM bên ngoài và sau đó đôi khi chuyển chúng sang một đối tượng COM bên ngoài khác từ một thư viện khác.
Cách tiếp cận thực hành tốt nhất ở đây là gì? Tôi có nên có mã kiểm tra của tôi tạm thời thay đổi thông tin đăng ký COM trong sổ đăng ký để mã thử nghiệm sẽ khởi tạo một trong các đối tượng giả của tôi thay thế không? Tôi có nên tiêm các đơn vị thư viện kiểu sửa đổi không? Có cách tiếp cận nào khác?
Tôi sẽ đặc biệt biết ơn các ví dụ hoặc công cụ cho Delphi nhưng sẽ hài lòng với lời khuyên chung hơn và các giải thích cấp cao hơn nữa.
Cảm ơn,
Oliver
Đồng ý; và vì tất cả tương tác với các đối tượng COM (ngoại trừ các cuộc gọi tự động thông qua IDispatch) sử dụng giao diện COM, bạn chỉ có thể thực hiện các giao diện đó trong lớp mô phỏng của mình. – rpetrich