프론트엔드 테스팅이 필요한 이유
- 개발 단계에서 코드의 결함을 확인할 수 있음
- 신규 기능을 개발하거나 리팩토링시, 기존 기능들이 잘 동작하는지를 체크 할 수 있다.
- A컴포넌트를 개발했을때 해당 컴포넌트만 테스팅을 돌려서 확인한다.
- 하지만 다른 컴포넌트에 테스팅이 잘 짜여있다면, 자동화된 테스팅을 돌릴 수 있다.
테스팅을 돌리는 시점 ⇒
- 개발하고 나서 원격에 푸쉬할때 테스트 돌릴 수 있음
- 배포하기전에 test를 돌릴 수 있음.
<aside>
🔥 실제 코드에 서비스에 반영되기 전에 테스트를 돌린다.
</aside>
테스팅 종류
- 밑으로 내려갈 수록 코드량 시간이 많이 걸린다.
-
Unit test
- util함수에 A라는 input이 들어갔을때 b라는 output이 나오는지?? ⇒ 여전히 예상한 input이 나오는지?
-
Intergration Test
- 특정 버튼을 클릭했을때 의도된데로 잘 동작하는지?
-
E2E Test
- 로봇들이 실제로 클릭 이벤트, 인풋 이벤트들을 수행하면서 브라우저에서 애플리케이션이 잘 동작하는지 확인.
실제 unit test를 진행해보자