[TIL] jest를 통한 테스트 코드 작성

Front-end React JavaScript

(배운 것을 짤막하게 정리합니다.)

테스트 방법

  1. 단위테스트 : 버튼 클릭과 같은 개별 기능 테스트 (Jest)
  2. 통합테스트 : 여러 기능을 한꺼번에 테스트 (Jest)
  3. E2E테스트 : 접속해서 로그인, 구매 등 시나리오가 있는 테스트 (유저 시나리오 테스트) (Cypress)

테스트

snapshot test는 틀린 게 아니라 바뀐 것을 보여줌 이것이 실수인지 고의인지를 판단하는 것이 필요 snapshot test watch 하면서 u누르면 스냅샷이 업데이트

UI테스트

  1. 코드로 테스트 (presenter test w. Snapshot)
  2. 눈으로 테스트 (Storybook)

컨테이너 기능테스트

fireEvent.click(screen.getByRole("count-button"));
expect(screen.getByRole("count")).toHaveTextContent("1");

api 테스트

mocking : 가짜 요청, 가짜 응답 axios : axios-mock-adapter apollo-client : apollo-mock-provider