MFC 프로젝트를 단위테스트하기 어렵습니다.

수정일 Tue, 03 Nov 2015 시간: 04:45 PM

 MFC로 개발된 프로그램은 Controller Tester 외 일반 단위테스트 자동화 도구에서 지원하기 어려운 프로그램입니다. 

가장 큰 이유는 단위테스트 수행을 위해 객체를 생성해야 하는데 그 객체를 생성하기 어렵기 때문입니다. 

MFC에서 주로 사용되는 클래스에는 Cobject, CDC, Cwnd 등이 있습니다. Cobject는 MFC 라이브러리 대부분의 루트 기본 클래스입니다. 

CDC는 CObject를 상속받은 클래스이며, 디바이스 컨텍스트 개체의 클래스를 정의합니다. 그리고 CWnd는 MFC 라이브러리의 모든 Windows 클래스의 기본적인 기능을 제공합니다.

MFC로 UI 개발을 할 때, 이러한 주요 클래스들을 상속 받아서 사용해야 합니다. 이처럼 상속 또는 추상 클래스가 많이 사용되면 일일이 그 하위 클래스로 생성해야 하기 때문에 테스트 코드에서 객체 생성이 어렵습니다. 해당 클래스 내부의 메서드를 테스트할 때 뿐만 아니라, 다른 함수의 인자로도 사용되기 때문에 더욱 어렵습니다.

위 와 같은 이유로 MFC 프로젝트 중 특히 UI가 포함된 경우 단위테스트가 어렵습니다.


아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.