사실 얼마전까지만해도 단위 테스트를 왜 작성해야하는지 와닿지 않았다.
코드를 테스팅하는것도 알고리즘 문제를 풀면서 여러 사이트에서 제공해주는 거로 처음 접했었다.
실제로 알고리즘 문제를 사이트에서 풀 때 이렇게 하면 되겠지 했는데 여러 케이스별로 테스팅 코드를 작성해보니 문제들이 많았다.
테스팅의 중요성을 느끼게 되었다.
먼저 이 포스팅에는 리액트에서 테스팅 코드를 작성하는 방법에 대해서 정리할 것이다.
후에 직접 프로젝트를 하나 만들어서 직접 테스팅 코드를 구현할 것이다.
###Jest
페이스북에서 만든 테스팅 도구이다.
기본적으로 CRA로 설치하면 포함되어 있다.
jest메소드 확인 : https://jestjs.io/docs/en/expect.html
###react-test-renderer
스냅샷 테스팅을 하는 도구이다.
컴포넌트를 주어진 설정으로 렌더링하고 그 결과물을 파일로 저장한다.
그리고 다음번 테스팅할 때 이전의 결과물과 일치하는지를 확인한다.
컴포넌트 내부 메소드를 호출시키고 다시 렌더링시켜서 그 결과물도 스냅샷을 저장시켜 각 상황에 모두 이전에 렌더링했던
결과와 일치하는지를 비교할 수 있다.
###enzyme
airbnb에서 만든 리액트 컴포넌트 테스팅도구이다.
세밀하게 테스팅가능하며 dom 이벤트 시뮬레이트 및 모든 라이프사이클 확인이 가능하다.