Search

라이브러리 테스트에 대하여

보장된 라이브러리인데 왜 테스트를?

테스트 코드에 우테코에서 제공하는 라이브러리 (Console, Random)들은 utils 파일에 모아두고 단위 테스트를 돌렸다. 어차피 보장된(?) 라이브러리인데 왜 테스트를 돌려야 할까 생각도 들었다. 이 부분에 대해서는 사람마다 시각 차이가 있는 것 같았다.

변경 가능성에 대한 염두

하지만 외부 라이브러리는 언제든지 변경될 수 있고, 그들을 util이라는 하나의 js파일, 하나의 테스트 파일에 모아두고 관리할 수 있게끔 하고자 했다. 지금은 작은 일회성 프로젝트지만 추후 사용자에게 배포된 서비스라고 가정했을 때를 위함이다. 라이브러리는 내가 통제하기 어려운 외부 변수 중 하나인데, 만약 라이브러리에 이슈가 생기면 utils로 모아두었던 라이브러리만 수정하면 되기 때문이다.
외부적인 요인이 바뀌어도 우리 코드에는 영향을 덜 받게끔 하나의 레이어를 중간에 둔달까? 특히 규모가 크고 사용자와 직접적인 interaction이 있다면 최대한 변동성을 없애고자 하는 차원에서도 고민해 볼 내용인 것 같다.
비슷한 이유로 printMessage를 utils로 빼두고 테스트코드까지 작성했던 것도 마찬가지다. 실제로 현업에서는 라이브러리가 바뀌었을 때 내부에서 먼저 감지할 수 있기에 테스트를 만든다고 한다. 특히, 외부 라이브러리를 일정 주기로 확인하는 batch 같은 것을 돌려서 원하는 응답이 오는지, 정상적으로 작동하는지 체크한다고 한다.