단위 테스트로 스펙을 정의해요

다들 동의하시겠지만, 테스트를 만들 때 제일 힘든 건 역시 이름 짓기입니다. 테스트에는 목적을 잘 드러내는 이름을 붙여 주어야 합니다. 그래서 안 되는 영어로 열심히 작명을 하다 보면 메서드 이름이 너무 길어져서, 원래는 설명을 하려던 것이 도리어 알아볼 수 없는 이름이 되고 말죠. 나중에 결과를 봐도 파일 이름과 줄 번호로 찾아가서야 겨우 알게 되고요. 이럴 때 어떻게 하시나요? 저는 이름을 열심히 짓고, 나중에 못 알아볼까봐서 주석도 열심히 달고 그랬습니다. (저는 CppUnit을 사용합니다.)

루비라는 언어를 보면 일종의 테스트 프레임워크로써 RSpec이라는 게 있습니다. 기존 단위 테스트 프레임워크와의 차이는 클래스에 테스트 메서드 이름을 짓는 대신 일종의 DSL로써 스펙을 말로 정의한다는 거죠. 국내 RoR 레퍼런스의 대표격인 스프링노트를 만드신 강규영(=강애란)님은 RSpec을 본따서 JSSpec을 만드신 바도 있습니다. 아마 테스트 메서드 이름 짓기에 치인 개발자라면 RSpec 환경이 한없이 매력적으로 보일 겁니다. 저처럼 경험이 많지 않은 사람조차 그런걸 보면요.

아무튼 그래서 없어보이지만, 다음과 같은 짓을 해보았어요.

CppUnit.png

저는 Visual Studio 2005를 사용하고요, 테스트 프레임워크는 앞에서도 밝혔다시피 CppUnit입니다. 어느 쪽이든 저렴해 보이긴 마찬가지지만, 중요한 것은 메서드 이름을 지으려고 노력하는 대신 사용자 스토리를 만들거나 스펙을 적는다는 감각으로 하는 게 중요합니다.

CppUnitResult.png

그냥 볼만 하죠?

이 글은 스프링노트에서 작성되었습니다.

신고
Trackback 0 Comment 10

prev 1 ··· 5 6 7 8 9 10 11 12 13 ··· 28 next


티스토리 툴바