Using WinUnit with VS2010

C++은 다른 언어에 비해 유닛테스팅 프레임웍이 빈약한 편입니다.
그나마 비주얼 스튜디오 2010과 함께 사용할 만한것은 WinUnit 정도일 것 같아서, 만들고 있는 장난감에 한번 적용해봤습니다.
먼저 WinUnit 은 다음 URL에서 다운 받을 수 있습니다.

http://winunit.codeplex.com/

저는 다운받아서 아래 경로에 압축을 풀었습니다.
C:\ Downloaded_Software \ 00.WinUnit-1.2.0909.1
그리고, 해당 폴더 아래의 Bin 폴더를 System Path 로 잡아주었고요.

WinUnit을 통해 유닛테스트를 하기 위해서는 아래와 같이 진행하면 됩니다.

1. 이미 만들어져있던 KnightTravails 라는 VS2010 프로젝트파일의 속성을 약간 수정해야 합니다.
원래는 exe 타입인데, 이를 dll 로변경해 줍니다.

2. 계속해서 프로젝트 설정을 수정합니다. Additional Include directories 를 지정하는 항목에 설치한 WinUnit 의 include 디렉토리를 넣어줍니다. 제 경우는 C:\ Downloaded_Software \ 00.WinUnit-1.2.0909.1\Include 를 지정해줬습니다.

3. 유닛 테스트용 CPP 파일을 작성합니다. 파일 내부는 원하는 만큼의 테스트 케이스를 BEGIN_TEST 와 END_TEST로 마치 함수처럼 감싸주기만 하면 됩니다. WIN_ASSERT_TRUE 와 같은 WinUnit에서 사용가능한 매크로는 여기에 잘 설명되있습니다.

4. VS2010 의 Tools 메뉴를 통해 유닛테스트를 실행할 수 있도록 다음에서 설명하는대로 설정해줍니다.
1) Go to Tools –> External Tools. Click Add.
2) For Title, type WinUnit.
3) For Command, browse to WinUnit.exe.
4) For Arguments, type “$(TargetPath)”, including double-quotes.
5) For Initial Directory, type $(TargetDir) (no double-quotes).
6) Uncheck Close on Exit. Check Use Output Window.
7) OK
위의 순서대로 하면 아래 그림처럼 되어야 합니다.

5. 이제 Tools > WinUnit 메뉴를 이용해 작성한 유닛테스트를 실행합니다.

6. Output 윈도우에 아래 그림과 같이 나오면 성공입니다. ^.^V

Advertisements

About sydlife

Lazy programmer, Dad and Husband.
%d bloggers like this: