2008년 9월 9일 화요일

CUTE Test

자바 개발용의 Eclipse에는 Unit Testing 기능이 기본으로 포함되어 있는데, CDT에서는 따로 설치해줘야 한다. (매뉴얼은 http://wiki.hsr.ch/PeterSommerlad/wiki.cgi?CuTe.)

위키피디아에 C++ 용 Unit Testing 툴이 잘 비교되어 나와 있는데, 이중에서 Eclipse 플러그인을 지원하면서 사용이 비교적 간단한 CUTE (C++ Unit Testing Easier)를 이용해 보도록 한다.

1. Boost 설치

CUTE를 사용하기 위해서는 Boost 라는 C++ 공개 라이브러리를 먼저 설치해줘야 한다.
Download 페이지에서 boost_1_35_0.zip을 받아 폴더에 압축을 푼다.
* 공용 헤더 파일과 라이브러리 파일을 위해 Eclipse의 workspace 아래에 include 및 lib 폴더를 만들어 두자. 앞의 예에서 D:\workspace-cpp를 사용했으므로, D:\workspace-cpp\include, D:\workspace-cpp\lib 폴더를 각각 만들어 사용하도록 하겠다.


boost_1_35_0 폴더 아래에 boost, doc, libs 등의 폴더가 보일 것이다. 이 중 헤더 파일이 들어 있는 boost 폴더를 자신의 workspace의 include 아래로 복사한다. i.e. D:\workspace-cpp\include\boost
2. CUTE 플러그인 설치

Eclipse 메뉴의 Help -> Software Updates -> Find and Install… 을 클릭한다.
CUTE 플러그인을 처음 설치하는 것이므로, Search for new features to install 을 선택하고 Next를 클릭한다.
New Remote Site…를 클릭하고 Name에는 CUTE, URL에는 http://ifs.hsr.ch/cute/updatesite 라고 입력한 후 OK를 클릭한다.




화면에 CUTE 노드가 새로 생겼을 것이다. 체크되어 있는지 확인 후 Finish를 클릭한다.




Cute Launcher 1.3.0을 선택하고 Next를 클릭한다.




License 화면이 나오면 동의한 후 Next 후 Finish. 설치 중 Verification warning이 나오는데 Install All을 선택한다.
설치가 끝나면 Eclipse를 다시 시작하겠냐고 묻는다. Yes를 클릭한다.
3. HelloWorldTest

Eclipse가 다시 시작되면 메뉴의 Window -> Show View -> Other… 를 클릭한다. 제대로 설치되었다면 CUTE Results 라는 View가 보일 것이다. 이 View는 Unit Test 결과를 그래프로 보여준다. 선택한 뒤 OK를 클릭하여 해당 View를 화면에 추가하자.




이제 메뉴의 New -> C++ Project를 클릭해보자. 기존의 옵션 외에 CUTE 용 프로젝트 타입이 세 가지 더 생긴 것이 보일 것이다. Project 명에 HelloWorldTest 라고 입력하고 Cute Project를 선택한 후 Finish를 클릭한다.




새로 생성된 HelloWorldTest 프로젝트를 빌드하기 위해서는 먼저 앞에서 설치한 Boost 헤더파일을 Include path에 포함시켜야 한다. 프로젝트를 선택한 후 메뉴의 Project -> Properties를 클릭하면 설정 화면이 나타난다. C/C++ Build -> Settings 화면에서 GCC C++ Compiler의 Directories를 클릭한다.




여기에 앞에서 설정한 공용 Include 폴더를 추가하자.

아이콘을 클릭한 뒤, File System… 에서 폴더 경로 (i.e. D:\workspace-cpp\include)를 선택하고 OK를 누른다. 다시 OK를 클릭하여 설정을 저장한다.




이제 프로젝트를 빌드해보자. HelloWorldTest 프로젝트를 선택한 뒤 Project -> Build Project 를 클릭한다. 앞의 설정이 제대로 되었다면 에러 없이 컴파일과 빌드가 될 것이다.




빌드가 완료되면 Debug 폴더 아래 HelloWorldTest.exe가 생성된다. 이 파일을 선택한 뒤 오른쪽 마우스 버튼을 클릭하여 나타난 서브 메뉴에서 Run As -> CUTE Test를 선택한다.




테스트 결과가 Console과 Cute Results 창에 나타난다. CUTE Project 로 생성된 소스 코드는 기본적으로 실패하는 테스트를 담고 있기 때문에 실행 결과는 다음과 같이 붉은색으로 나타날 것이다.




이제 이 테스트를 성공하도록 바꿔보자. 자동으로 생성된 Test.cpp에는 다음과 같은 테스트 케이스가 하나 들어 있는데, ASSERTM() 은 두번째 인자의 결과값을 체크하여 성공과 실패 여부를 확인하는 매크로이다. 두번째 인자값이 false이므로 이 테스트는 무조건 실패하도록 되어 있다.




이 코드를 테스트가 성공하도록 다음과 같이 바꿔 보자.





다시 프로젝트를 빌드한 뒤 다시 Cute Test로 실행시키면, 테스트가 성공했음을 알리는 초록색 막대가 나타날 것이다.




이상으로 Eclipse CDT 환경에서 Unit Testing을 위한 준비를 마쳤다.

댓글 없음:

댓글 쓰기