단통시인
단위 테스트는 개발자가 수행하고 자신이 개발 한 코드 단위 (모듈, 요소)들을 테스트 한다. 소스코드의 개별 단위를 테스트하여 사용할 준비가 되었는지 확인하는 테스트 방법. 개발 라이프 사이클 초기 단계에서 버그가 식별되므로 버그 수정 비용을 줄이는데 도움이 된다.
독립적이어야 하며, 어떤 테스트도 다른 테스트에 의존하지 않아야 한다. 즉 아주 단순한 기능 (버튼을 누르면 원하는 값이 나오는지 등..)
격리 되어야 한다. Ajax, Axios, localStorage 등 테스트 대상이 의존하는 것을 다른 것으로 대체해야 한다.
프로그램이 크고, 메모리가 많이 들고, 다른 리소스 (데이터 베이스) 등이 필요한 경우 로컬 환경에서 쉽게 프로젝트를 빌드한 후 실행시켜보기에는 매우 제한적이고 어렵다. 따라서 유닛테스트를 만들어 빠르게 코드를 테스트 해볼 수 있다.
종속성이 있는 다른 클래스들에서 버그가 나는것을 방지하기 위해서
즉 A라는 클래스를 B,C 클래스에서도 마찬가지로 의존하여 쓰고 있다고 하면, B의 오류에 맞게 A클래스를 고치는데, 이렇게 되면 C 클래스에서 오류가 나게 될 수 있다. 따라서 유닛 테스트를 하면 의존하는 다른 클래스들도 빠르게 테스트 및 확인이 가능하기에 에러를 잡기 훨씬 용이