jest (바스크립트 + 테스트, 농담이란 뜻)

페이스북에서 만든 테스트 프레임워크

타입스크립트도 가능! Babel/리액트/Node.js 전부 다 지원

Vitest(Vite), Jasmine, Mocha+Sinon+Chai 등의 대체재도 있음

Jest

테스트를 안 하는 이유

  1. 테스트 효과 대한 불확실
  2. 귀찮음
  3. 스트레스
  4. 시간이 오래 걸림

해야 하는 이유

  1. 예전에 났던 에러가 또 나는 경우
  2. 코드가 복잡한데 많이 바꿔야하는 경우
  3. 하나의 코드를 수정했더니 import한 다른 곳에서 에러가 나는 경우
  4. 장기간에 걸쳐 내가 유지보수를 해야 하는 경우

TDD 해야 하나?

프론트는 TDD 가능한가? BDD

모킹, 라이브러리 테스트

테스트의 종류: 유닛(단위)테스트, 통합(인터그레이션)테스트, E2E(엔드투엔드) 테스트

이 강의의 목적이 아닌 것

설치

npm i jest -D

npm i ts-jest @types/jest -D

npm i babel-jest @babel/core @babel/preset-env

npm i cross-env // 윈도우 호환용 패키지