현재 가장 큰 문제 중 하나는 전체 테스트를 다이빙으로 돌리고 있다는 것입니다. 필자가 작성한 코드의 상당 부분이 다른 소스의 타사 COM 객체에 크게 의존하기 때문에 서로 상호 작용하는 경향이 있습니다 (나는 당신이 알 필요가있는 경우에 몇몇 헬퍼 도서관을 사용하여 Microsoft Office를위한 추가 기능을 쓰고있다).타사 COM 개체와 상호 작용하고 인스턴스화하는 코드를 어떻게 테스트합니까?
내가 모의 객체를 사용해야한다는 것을 알고 있지만,이 경우 정확히 어떻게해야할까요? 나는 단지 기존의 객체에 대한 참조를 전달해야하지만 내 루틴 중 일부는 외부 COM 객체를 인스턴스화 한 다음 다른 라이브러리의 다른 외부 COM 객체로 전달할 때 비교적 쉽다는 것을 알 수 있습니다.
가장 좋은 방법은 무엇입니까? 내 테스트 코드에서 레지스트리의 COM 등록 정보를 임시적으로 변경해야 테스트 코드가 대신 내 모의 객체 중 하나를 인스턴스화 할 수 있습니까? 수정 된 타입 라이브러리 유닛을 주입해야합니까? 다른 접근법이 있습니까?
델파이 용 예제 또는 도구에 특히 감사하지만 더 일반적인 조언과 더 높은 수준의 설명도 마찬가지로 만족 스러울 것입니다.
감사합니다,
올리버
동의; COM 객체를 사용하는 모든 상호 작용 (IDispatch를 통한 자동화 호출 제외)은 COM 인터페이스를 사용하기 때문에 모의 클래스에서이를 구현할 수 있어야합니다. – rpetrich