Test['시험','검사']
테스트 코드
- 개발한 코드가 의도한대로 동작하는지 작성하는 코드
- 작성한 코드에 문제가 없는지 테스트 하기 위해 작성하는 코드
- '내 코드가 멀쩡하다'고 증명하는 것이 아닌 '내 코드가 멀쩡하다면 이런 결과가 나와야 한다'고 생각해야 한다.
- 테스팅은 결함이 없는것이 아니라, 결함의 존재를 보여주는것
테스트 코드의 종류
- 단위 테스트(Unit Test) : 가장 작은 규모의 기능을 테스트
- 통합 테스트(Integration Test) : 여러가지 기능을 합쳤을 때 생기는 문제를 방지하기 위한 테스트
- E2E 테스트(End-to-End Test) : 끝에서 끝(종단 간)을 의미하는 테스트로
백엔드부터 시작해서 최종적으로 웹 페이지가 원하는대로 동작하며 원하는 데이터를 잘 보여주는지 확인합니다.
테스팅 프레임워크
Node.js의 테스팅 프레임워크에는 Jest 뿐만 아니라 Mocha, Jasmine 등이 있습니다.
Jest의 특징
페이스북에서 만든 테스팅 라이브러리
React에서 많이 사용
Jasmine 기반
Test Runner, Test Matcher, Test Mock 프레임워크까지 제공