더북(TheBook)

1.2.1 단위 테스트는 미래에 대비한 투자다

단위 테스트(unit test)는 시간이 흐르면서 아무리 큰 변화의 소용돌이 속에 빠져도 완벽한 프로그램을 만들 수 있게 한다. 여기서 ‘단위 (unit)’란 특정 조건에서 어떻게 작동해야 할지 정의한 것이다. 언제나 그런 것은 아니지만, 대개 함수로 표현한다.

단위 테스트 본체에 작성한 코드는 준비(arrange), 실행 (act), 단언 (assert)의 패턴을 따른다.

첫째, 테스트 준비다. 단위를 실행할 조건을 확실히 정하고, 의존성 및 함수 입력 데이터를 설정한다.

둘째, 단위를 실행하여 테스트한다. 예를 들어 단위가 함수면 준비 단계에서 미리 설정한 입력값을 함수에 넘겨 실행한다.

마지막은 테스트 단언이다. 미리 정한 조건에 따라 예상대로 단위가 작동하는지 확인한다. 단위가 함수인 테스트라면 예상한 값을 반환하는지 조사하면 된다.

전체 단위 테스트 꾸러미(test suite)를 작성하는 데 든 시간과 노력은 앞으로 프로그램이 직면할 갖가지 변화에 대처하기 위한 보험이자, 안정적인 애플리케이션 유지에 꼭 필요한 최선의 투자라고 할 수 있다. 단위 테스트가 실패한다는 것은 어떤 변화로 인해 기존 프로그램의 기능이 바뀌었으니 실패를 유발한 이 변화를 자세히 들여다보아야 한다는 사실을 일깨워주는 적색 신호등이다.

2장의 ‘테스팅 프레임워크’ 절에서는 단위 테스트 프레임워크인 재스민으로 자바스크립트 테스트 꾸러미를 작성하는 방법에 관해 자세히 이야기한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.