예를 들어 카카오톡의 메세지가 제대로 전송되는지, 로그인이 잘 되는지, 암호는 안전하게 보호되고 있는지를 미리 테스트 코드를 작성하여 시험해보고 실제 최종 유저(End User)에게 전달하는 것이 가장 바람직한 IT 회사의 모습이라 할 수 있다
프로그램의 각 함수는 레고 블록처럼 작동되어야 한다. 서로의 공간에서 서로가 약속한대로 작동한다면 아주 복잡한 프로그램도 만들어 낼 수 있게 된다.
그렇다면 어떻게 각각의 컴포넌트들이 서로 의도대로 작동하는지 알 수 있을까?
유닛 테스트가 바로 그 역할을 해준다.
각 유닛은 우리가 작성한 함수(컴포넌트), 레고 블록이다. 그 레고 블록이 잘 만들어졌는지 테스트를 하는 것을 유닛 테스트라고 한다.
사소한 함수를 제외한 모든 함수에 유닛 테스트를 해야 한다.
유닛 테스트를 통과한 채 진행한다면 마치 가드레일이 없는 도로에서 고속으로 달리는 차가 낭떠리지에서 떨어지기 쉬운 것처럼 되어버린다.
복잡하게 코드를 작성해서 스스로 헷갈리게 되는 경우는 아주 많다. 각각의 컴포넌트를 테스트하면 무엇을 만들고 있는지 바로 이해할 수 있기에 유닛 테스트는 필수적이다.
반드시 코드를 작성하는 과정에서 console.log를 찍어 지금 무슨 일이 일어나는지 눈으로 확인하길 바란다.