angular에서 test 기반 개발

2017-07-12 18:17

자바에서 test 기반으로 개발하다 angular로 넘어오는 순간 처음에 어떻게 해야할지 막막했다. angular의 경우 angular/cli 기반으로 component와 service 등을 생성하면 spec 파일이 자동으로 생기면서 테스트를 위한 템플릿 코드까지 자동으로 생성해 준다.

그런데 잠시 방심하는 순간 모든 test 코드가 깨져버리는 상황을 경험했다. 그래서 하나씩 테스트 하면서 원상 복구하려고 하는데 하나씩 테스트할 수 없다. 그래서 우여곡절 끝에 찾은 대안이 jasmine에서 test function을 제어하는 방법은? 글에서 찾은 방법이다.

이 방법으로 테스트를 하니씩 해결하다보니 angular에서 쓰고 있는 karma는 테스트 접근 방식이 완전히 다르다. 일단 "ng test"를 실행하니 브라우저를 실행하면서 모든 테스트 코드를 실행한 상태로 유지한다. 이 상태에서 소스 코드를 수정하니 자동으로 빌드하고 테스트까지 진행한다. 기존의 자바 개발 환경에서의 테스트와 접근 방식이 너무 다르다. 자바의 경우는 소스 코드 수정하면 내가 원하는 테스트 코드를 실행하는 방식으로 접근했는데 angular는 테스트 서버를 띄워 놓고 자동으로 테스트를 실행한다.

angular 처음 접근했을 때는 각 단위 테스트별로 테스트를 실행할 수 없어 상당히 짜증 났는데 이 같은 접근 방식을 경험하니 이 또한 나름 괜찮다.

역시나 생소한 언어일 수록 테스트 코드 기반으로 개발하는 것이 생산성이 훨씬 높다. 테스트 없이 개발하려니 확신도 없는 코드를 가지고 하나씩 테스트하려니 시간만 많이 소비하고 짜증만 폭발한다.

0개의 의견 from SLiPP

의견 추가하기

연관태그

← 목록으로